public DirRunner(ref DirectoryInfo di, dirDelegate dg) { if (di.Exists) { //Console.WriteLine(path); recurseDirs(ref di, ref dg); /*foreach (DirectoryInfo d in di.EnumerateDirectories()) * { * //path2 = Path.Combine(path,f.Name); * //Console.WriteLine(path2); * dg(d); * (ref new DirectoryInfo(di.Name), dg); * }*/ } else { Console.WriteLine("Dir -{0}- does not exist.", di.Name); } }
/// <summary> /// Description of Class1. /// </summary> static void recurseDirs(ref DirectoryInfo BaseDI, ref dirDelegate dg) { if (BaseDI.Exists) { dg(BaseDI); foreach (DirectoryInfo relDI in BaseDI.EnumerateDirectories()) { DirectoryInfo combinedDI = new DirectoryInfo(relDI.FullName); if (combinedDI.Exists) { recurseDirs(ref combinedDI, ref dg); } else { Console.WriteLine("Dir -{0}- exists not. Code should not end up, here!", combinedDI.FullName); } } } else { Console.WriteLine("Dir -{0}- does not exist.", BaseDI.Name); } }