@@ -675,20 +675,13 @@ public static implicit operator Operand(List<double> obj)
675675 #endregion Operand
676676 }
677677
678- internal abstract class Operand < T > : Operand
679- {
680- protected T _value { get ; private set ; }
681-
682- public Operand ( T obj )
683- {
684- _value = obj ;
685- }
686- }
687678
688- internal sealed class OperandNumber : Operand < decimal >
679+ internal sealed class OperandNumber : Operand
689680 {
690- public OperandNumber ( decimal obj ) : base ( obj )
681+ private readonly decimal _value ;
682+ public OperandNumber ( decimal obj )
691683 {
684+ _value = obj ;
692685 }
693686 public override bool IsNumber => true ;
694687 public override bool IsNotNumber => false ;
@@ -713,10 +706,12 @@ public OperandNumber(decimal obj) : base(obj)
713706 public override string ToString ( ) { return NumberValue . ToString ( CultureInfo . InvariantCulture ) ; }
714707 }
715708
716- internal sealed class OperandBoolean : Operand < bool >
709+ internal sealed class OperandBoolean : Operand
717710 {
718- public OperandBoolean ( bool obj ) : base ( obj )
711+ private readonly bool _value ;
712+ public OperandBoolean ( bool obj )
719713 {
714+ _value = obj ;
720715 }
721716 public override bool IsBoolean => true ;
722717 public override bool IsNotBoolean => false ;
@@ -735,11 +730,14 @@ public OperandBoolean(bool obj) : base(obj)
735730 public override string ToString ( ) { return BooleanValue ? "true" : "false" ; }
736731 }
737732
738- internal sealed class OperandString : Operand < string >
733+ internal sealed class OperandString : Operand
739734 {
740- public OperandString ( string obj ) : base ( obj )
735+ private readonly string _value ;
736+ public OperandString ( string obj )
741737 {
738+ _value = obj ;
742739 }
740+
743741 public override bool IsText => true ;
744742 public override bool IsNotText => false ;
745743 public override OperandType Type => OperandType . TEXT ;
@@ -829,10 +827,12 @@ public override string ToString()
829827 }
830828 }
831829
832- internal sealed class OperandMyDate : Operand < MyDate >
830+ internal sealed class OperandMyDate : Operand
833831 {
834- public OperandMyDate ( MyDate obj ) : base ( obj )
832+ private readonly MyDate _value ;
833+ public OperandMyDate ( MyDate obj )
835834 {
835+ _value = obj ;
836836 }
837837 public override bool IsDate => true ;
838838 public override bool IsNotDate => false ;
@@ -854,10 +854,12 @@ public OperandMyDate(MyDate obj) : base(obj)
854854 public override string ToString ( ) { return "\" " + DateValue . ToString ( ) + "\" " ; }
855855 }
856856
857- internal sealed class OperandJson : Operand < JsonData >
857+ internal sealed class OperandJson : Operand
858858 {
859- public OperandJson ( JsonData obj ) : base ( obj )
859+ private readonly JsonData _value ;
860+ public OperandJson ( JsonData obj )
860861 {
862+ _value = obj ;
861863 }
862864 public override bool IsJson => true ;
863865 public override bool IsNotJson => false ;
@@ -887,10 +889,12 @@ public override Operand ToArray(string errorMessage)
887889 }
888890 }
889891
890- internal sealed class OperandArray : Operand < List < Operand > >
892+ internal sealed class OperandArray : Operand
891893 {
892- public OperandArray ( List < Operand > obj ) : base ( obj )
894+ private readonly List < Operand > _value ;
895+ public OperandArray ( List < Operand > obj )
893896 {
897+ _value = obj ;
894898 }
895899 public override bool IsArray => true ;
896900 public override bool IsNotArray => false ;
@@ -954,18 +958,17 @@ internal class KeyValue
954958 public Operand Value ;
955959 }
956960
957- internal sealed class OperandKeyValueList : Operand < KeyValue >
961+ internal sealed class OperandKeyValueList : Operand
958962 {
959- public OperandKeyValueList ( KeyValue obj ) : base ( obj )
963+ private readonly List < KeyValue > TextList = new List < KeyValue > ( ) ;
964+ public OperandKeyValueList ( )
960965 {
961966 }
967+
962968 public override bool IsArrayJson => true ;
963969 public override bool IsNotArrayJson => false ;
964970 public override OperandType Type => OperandType . ARRARYJSON ;
965971 public override List < Operand > ArrayValue => TextList . Select ( q => q . Value ) . ToList ( ) ;
966-
967- private readonly List < KeyValue > TextList = new List < KeyValue > ( ) ;
968-
969972 public override Operand ToArray ( string errorMessage )
970973 {
971974 return Create ( this . ArrayValue ) ;
@@ -1033,10 +1036,12 @@ public override string ToString()
10331036 }
10341037 }
10351038
1036- internal sealed class OperandKeyValue : Operand < KeyValue >
1039+ internal sealed class OperandKeyValue : Operand
10371040 {
1038- public OperandKeyValue ( KeyValue obj ) : base ( obj )
1041+ private readonly KeyValue _value ;
1042+ public OperandKeyValue ( KeyValue obj )
10391043 {
1044+ _value = obj ;
10401045 }
10411046 public override bool IsArrayJson => true ;
10421047 public override bool IsNotArrayJson => false ;
0 commit comments