private IEnumerable <IActionOut> GetOutputVars() { var meta = Meta; if (meta != null) { foreach (var item in Meta.GetAllMembers().OfType <IActionFieldInfo>().Where(p => p.DisplayType is Out)) { if (item.IsBranch) { var variableOut = new ActionBranch() { ActionFieldInfo = item, Node = this, Identifier = this.Identifier + ":" + item.Name, Repository = Repository, }; yield return(variableOut); } else { var variableOut = new ActionOut() { ActionFieldInfo = item, Node = this, Identifier = this.Identifier + ":" + item.Name, Repository = Repository, }; yield return(variableOut); } } } }
public virtual void VisitBranch(ActionBranch output) { var item = output.OutputTo <SequenceItemNode>(); if (item != null) { Visit(item); } }
public virtual void AfterVisitBranch(ActionBranch actionBranch) { }
public virtual void BeforeVisitBranch(ActionBranch actionBranch) { }