public int IterateLeaves(LeavesIterationCallback cb, LinkedList<KeyValuePair<string, string>> filters) { int rv = 0; if (!name.IsEmpty()) filters.AddLast(new LinkedListNode<KeyValuePair<string, string>>(new KeyValuePair<string,string>(name, QueryBuilder.DecorateString(value)))); if (IsLeave) { cb(this, filters); ++rv; } else foreach (OlapDimensionsTree node in children) rv += node.IterateLeaves(cb, filters); if (!name.IsEmpty()) filters.RemoveLast(); return rv; }
public int IterateLeaves(LeavesIterationCallback cb) { LinkedList<KeyValuePair<string, string>> filters = new LinkedList<KeyValuePair<string, string>>(); return IterateLeaves(cb, filters); }