Ejemplo n.º 1
0
 /// <summary>
 /// 创建操作数
 /// </summary>
 /// <param name="txt"></param>
 /// <returns></returns>
 public static Operand CreateJson(string txt)
 {
     if ((txt.StartsWith("{") && txt.EndsWith("}")) || (txt.StartsWith("[") && txt.EndsWith("]")))
     {
         try {
             var json = JsonMapper.ToObject(txt);
             return(Operand.Create(json));
         } catch (Exception) { }
     }
     return(Operand.Error("string to json is error!"));
 }
Ejemplo n.º 2
0
 protected override Operand GetParameter(string parameter)
 {
     if (parameter == "半径")
     {
         return(Operand.Create(_radius));
     }
     if (parameter == "直径")
     {
         return(Operand.Create(_radius * 2));
     }
     if (parameter == "高")
     {
         return(Operand.Create(_height));
     }
     return(base.GetParameter(parameter));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 转Array类型
 /// </summary>
 /// <param name="errorMessage"></param>
 /// <returns></returns>
 public Operand ToArray(string errorMessage = null)
 {
     if (Type == OperandType.ARRARY)
     {
         return(this);
     }
     if (IsError)
     {
         return(this);
     }
     if (Type == OperandType.JSON)
     {
         if (JsonValue.IsArray)
         {
             List <Operand> list = new List <Operand>();
             foreach (JsonData v in JsonValue)
             {
                 if (v.IsString)
                 {
                     list.Add(Operand.Create(v.StringValue));
                 }
                 else if (v.IsBoolean)
                 {
                     list.Add(Operand.Create(v.BooleanValue));
                 }
                 else if (v.IsDouble)
                 {
                     list.Add(Operand.Create(v.NumberValue));
                 }
                 else if (v.IsNull)
                 {
                     list.Add(Operand.CreateNull());
                 }
                 else
                 {
                     list.Add(Operand.Create(v));
                 }
             }
             return(Create(list));
         }
     }
     return(Error(errorMessage));
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 添加自定义参数
 /// </summary>
 /// <param name="json"></param>
 public void AddParameterFromJson(string json)
 {
     if (json.StartsWith("{") && json.EndsWith("}"))
     {
         var jo = JsonMapper.ToObject(json);
         if (jo.IsObject)
         {
             foreach (var item in jo.inst_object)
             {
                 var v = item.Value;
                 if (v.IsString)
                 {
                     _dict[item.Key] = Operand.Create(v.StringValue);
                 }
                 else if (v.IsBoolean)
                 {
                     _dict[item.Key] = Operand.Create(v.BooleanValue);
                 }
                 else if (v.IsDouble)
                 {
                     _dict[item.Key] = Operand.Create(v.NumberValue);
                 }
                 else if (v.IsObject)
                 {
                     _dict[item.Key] = Operand.Create(v);
                 }
                 else if (v.IsArray)
                 {
                     _dict[item.Key] = Operand.Create(v);
                 }
                 else if (v.IsNull)
                 {
                     _dict[item.Key] = Operand.CreateNull();
                 }
             }
             return;
         }
     }
     throw new Exception("Parameter is not json string.");
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 转Json类型
 /// </summary>
 /// <param name="errorMessage"></param>
 /// <returns></returns>
 public Operand ToJson(string errorMessage = null)
 {
     if (Type == OperandType.JSON)
     {
         return(this);
     }
     if (IsError)
     {
         return(this);
     }
     if (Type == OperandType.STRING)
     {
         var txt = TextValue;
         if ((txt.StartsWith("{") && txt.EndsWith("}")) || (txt.StartsWith("[") && txt.EndsWith("]")))
         {
             try {
                 var json = JsonMapper.ToObject(txt);
                 return(Operand.Create(json));
             } catch (Exception) { }
         }
     }
     return(Error(errorMessage));
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 添加自定义参数
 /// </summary>
 /// <param name="key"></param>
 /// <param name="obj"></param>
 public void AddParameter(string key, ICollection <bool> obj)
 {
     _dict[key] = Operand.Create(obj);
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 添加自定义参数
 /// </summary>
 /// <param name="key"></param>
 /// <param name="obj"></param>
 public void AddParameter(string key, List <Operand> obj)
 {
     _dict[key] = Operand.Create(obj);
 }
Ejemplo n.º 8
0
 /// <summary>
 /// 添加自定义参数
 /// </summary>
 /// <param name="key"></param>
 /// <param name="obj"></param>
 public void AddParameter(string key, TimeSpan obj)
 {
     _dict[key] = Operand.Create(obj);
 }
Ejemplo n.º 9
0
 /// <summary>
 /// 添加自定义参数
 /// </summary>
 /// <param name="key"></param>
 /// <param name="obj"></param>
 public void AddParameter(string key, MyDate obj)
 {
     _dict[key] = Operand.Create(obj);
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 添加自定义参数
 /// </summary>
 /// <param name="key"></param>
 /// <param name="obj"></param>
 public void AddParameter(string key, decimal obj)
 {
     _dict[key] = Operand.Create((double)obj);
 }
Ejemplo n.º 11
0
 /// <summary>
 /// 添加自定义参数
 /// </summary>
 /// <param name="key"></param>
 /// <param name="obj"></param>
 public void AddParameter(string key, ushort obj)
 {
     _dict[key] = Operand.Create((int)obj);
 }