private string TraverseTree(IQueryItem item) { if (item is IConnectorItem) { IConnectorItem conn = item as IConnectorItem; StringBuilder buffer = new StringBuilder(); string leftRequest = TraverseTree(_queryNodes[conn.LeftChild]); string rightRequest = TraverseTree(_queryNodes[conn.RightChild]); buffer.AppendFormat("({0} {1} {2})", leftRequest, conn.FilterType.ToString(), rightRequest); return(buffer.ToString()); } else { ILeafItem leaf = item as ILeafItem; return(BuildSearchString(leaf)); } }
public void GetConnectorItem(out IConnectorItem item) { item = new ConnectorItem(); item.NodeId = _itemCounter++; }