protected void variable_input_binding(Func <object> f, string codeString) { if (_curVar == null) { throw new Exception("input_binding only in variable def"); } string k = DslUtil.TaskVarInBindingKey(_curTask != null ? _curTask.Id : _currentCompositeTask.Id, _curVar.Name); var b = new DataBindingDef { BindType = DataBindingType.Expr, Source = codeString, Target = _curVar.Name }; _variableBinds[k] = f; if (_curTask != null) { _curTask.AddInputDataBinding(b); } else if (_currentCompositeTask != null) { _currentCompositeTask.AddInputDataBinding(b); } else { throw new Exception(); } }
protected void add_output_binding(string destinationVariable, Func <object> expression, string codeString) { var b = new DataBindingDef { BindType = DataBindingType.Expr, Source = codeString, Target = destinationVariable }; var k = DslUtil.TaskVarOutBindingKey(_curTask != null ? _curTask.Id : _currentCompositeTask.Id, destinationVariable); _variableBinds[k] = expression; if (_curTask != null) { _curTask.AddOutputDataBinding(b); } else if (_currentCompositeTask != null) { _currentCompositeTask.AddOutputDataBinding(b); } }