Skip to content

Commit 77dbecb

Browse files
committed
fix
1 parent d670f88 commit 77dbecb

File tree

2 files changed

+34
-29
lines changed

2 files changed

+34
-29
lines changed

csharp/ToolGood.Algorithm/Internals/Functions/FunctionBase.value.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ public Function_ArrayJson(FunctionBase[] funcs) : base(funcs)
293293

294294
public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tempParameter)
295295
{
296-
OperandKeyValueList result = new OperandKeyValueList(null);
296+
OperandKeyValueList result = new OperandKeyValueList();
297297
foreach (var item in funcs) {
298298
var o = item.Evaluate(work, tempParameter);
299299
result.AddValue((KeyValue)((OperandKeyValue)o).Value);

csharp/ToolGood.Algorithm/Operand.cs

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)