Example #1
0
 /// <summary>
 /// 仮引数に引数を登録し、有効化します。
 /// </summary>
 /// <typeparam name="T">登録する型</typeparam>
 /// <param name="dummyArgumentstack">仮引数スタック</param>
 /// <param name="argument">引数</param>
 public void Enable(DummyArgumentsStack dummyArgumentstack, params object[] argument)
 {
     argumentInvalid = false;
     for (int i = 0; i < argument.Length; ++i)
     {
         argumentRef[(CbFuncArguments.INDEX)i].Data = argument[i];
     }
     dummyArgumentstack.Push(owner.PreFunction());
 }
Example #2
0
 public DelegateFunction(CbFunc <T, RT> self, DummyArgumentsControl dummyArgumentsControl, DummyArgumentsStack cagt) : base(self, dummyArgumentsControl, cagt)
 {
 }
Example #3
0
 protected DelegateFunctionBase(CbFunc <T, RT> self, DummyArgumentsControl dummyArgumentsControl, DummyArgumentsStack cagt)
 {
     this.self = self;
     this.dummyArgumentsControl = dummyArgumentsControl;
     this.cagt = cagt;
 }
Example #4
0
 /// <summary>
 /// Function イベント実行依頼
 /// </summary>
 /// <param name="functionStack"></param>
 public object RequestExecute(List <object> functionStack = null, DummyArgumentsStack preArgument = null)
 {
     return(LinkConnectorControl.RequestExecute(functionStack, preArgument));
 }
Example #5
0
 /// <summary>
 /// 仮引数に引数を登録し、有効化します。
 /// </summary>
 /// <param name="dummyArgumentstack">仮引数スタック</param>
 /// <param name="arguments">引数リスト</param>
 public void EnableList(DummyArgumentsStack dummyArgumentstack, List <object> arguments)
 {
     argumentInvalid = false;
     argumentRef.CopyFrom(arguments);
     dummyArgumentstack.Push(owner.PreFunction());
 }
Example #6
0
 /// <summary>
 /// 仮引数に引数を登録し、有効化します。
 /// ※Invokeメソッド用です。
 /// </summary>
 /// <typeparam name="T">登録する型</typeparam>
 /// <param name="dummyArgumentstack">仮引数スタック</param>
 /// <param name="arguments">引数リスト</param>
 public void EnableCbValue(DummyArgumentsStack dummyArgumentstack, List <ICbValue> arguments)
 {
     argumentInvalid = false;
     argumentRef.Set(arguments);
     dummyArgumentstack.Push(owner.PreFunction());
 }
Example #7
0
 /// <summary>
 /// 仮引数に引数を登録し、有効化します。
 /// ※Invokeメソッド用です。
 /// </summary>
 /// <typeparam name="T">登録する型</typeparam>
 /// <param name="dummyArgumentstack">仮引数スタック</param>
 /// <param name="argument">引数</param>
 public void EnableCbValue(DummyArgumentsStack dummyArgumentstack, ICbValue argument)
 {
     argumentInvalid = false;
     argumentRef[CbFuncArguments.INDEX.ARG_1] = argument;
     dummyArgumentstack.Push(owner.PreFunction());
 }
Example #8
0
 /// <summary>
 /// 仮引数は有効か?
 /// </summary>
 /// <param name="dummyArgumentstack">仮引数スタック</param>
 /// <returns>true = 有効</returns>
 public bool IsInvalid(DummyArgumentsStack dummyArgumentstack)
 {
     dummyArgumentstack.Pop();  // CallerArgument からの実行無効はここで解消される
     return(dummyArgumentstack.IsInvalid());
 }
Example #9
0
 /// <summary>
 /// 仮引数を無効化します。
 /// </summary>
 /// <param name="dummyArgumentstack">仮引数スタック</param>
 public void Invalidated(DummyArgumentsStack dummyArgumentstack)
 {
     dummyArgumentstack.Pop();
     argumentInvalid = true;
 }