public static string GetStructure(IProcedureFunctionChart pfc) { StringBuilder sb = new StringBuilder(); PfcLinkElementList llist = pfc.Links; llist.Sort(delegate(IPfcLinkElement le1, IPfcLinkElement le2) { return(Comparer.Default.Compare(le1.Name, le2.Name)); }); foreach (IPfcLinkElement linkElement in llist) { string predName = linkElement.Predecessor == null ? "<null>" : linkElement.Predecessor.Name; string linkName = linkElement.Name; string parentName = linkElement.Parent == null ? "<null>" : linkElement.Parent.Name; string succName = linkElement.Successor == null ? "<null>" : linkElement.Successor.Name; sb.Append("{" + predName + "-->[" + linkName + "(" + /*parentName*/ "SFC 1.Root" + ")]-->" + succName + "}\r\n"); } return(sb.ToString()); }
/// <summary> /// Creates a new instance of the <see cref="T:PfcNode"/> class. /// </summary> /// <param name="parent">The PFC this step runs as a part of.</param> /// <param name="name">The name of this step.</param> /// <param name="description">The description for this step.</param> /// <param name="guid">The GUID of this step.</param> public PfcNode(IProcedureFunctionChart parent, string name, string description, Guid guid) : base(parent, name, description, guid) { m_predecessors = new PfcLinkElementList(); m_successors = new PfcLinkElementList(); }