protected override IEnumerable <string> PerformSearch(string path) { if (Next != null) { foreach (var dir in SearchTree.GetBranches(path, Expression)) { foreach (var d in Next.Search(SearchTree.CombinePaths(path, dir))) { yield return(d); } } } }
protected override IEnumerable <string> PerformSearch(string path) { if (Next != null) { foreach (var dir in Next.Search(path)) { yield return(dir); } foreach (var dir in SearchTree.GetBranches(path)) { var nextDir = SearchTree.CombinePaths(path, dir); foreach (var d in PerformSearch(nextDir)) { yield return(d); } } } }