Exemple #1
0
 /// <summary>
 /// 设置当前Unit值的参数,这里将不会立即执行
 /// 将会忽略Unit的Name属性
 /// </summary>
 /// <param name="args"></param>
 public virtual void Set(params Unit[] args)
 {
     // 如果传入的是字符串
     if (args != null && args.Length >= 1 && args[0].GetValue().Data is string)
     {
         var code = args[0].GetValue().Data as string;
         VarMap.Set("source", VarData.New(code));  // source 用来保存源代码以及所在的位置,这里暂时只保存源代码
         IsInit = true;
     }
     else
     {
         throw new NotImplementedException("Set 函数没有实现");
     }
 }
Exemple #2
0
 public override Unit Run(params Unit[] args)
 {
     // 参数解析
     VarData[] values = new VarData[args.Length];
     for (int i = 0; i < values.Length; i++)
     {
         values[i] = args[i].GetValue();
     }
     // 缓存参数
     VarMap.Set("arguments", new VarData
     {
         //Type = values.GetType(),
         Kind = "Array[Unit]",
         Data = values
     });
     // 函数执行
     return(base.Run(args));
 }