public static void ForEachDirectory(string directoryPath, ForDirectoryAction forDirectoryAction) { var doBreak = forDirectoryAction(directoryPath); if (doBreak) { return; } var dirInfo = new DirectoryInfo(directoryPath); foreach (var di in dirInfo.GetDirectories()) { var fullName = di.FullName; ForEachDirectory(fullName, forDirectoryAction); } }
public static void ForEachSubDirectory(string directoryPath, ForDirectoryAction forDirectoryAction, bool recursive = true) { var dirInfo = new DirectoryInfo(directoryPath); foreach (var di in dirInfo.GetDirectories()) { var fullName = di.FullName; var doBreak = forDirectoryAction(fullName); if (doBreak) { return; } if (recursive) { ForEachSubDirectory(directoryPath, forDirectoryAction); } } }
private static void ForEachTemplateDirectory(ForDirectoryAction forDirectoryAction) { XYFile.ForEachSubDirectory(XYPath.Dir.SourceTemplate, forDirectoryAction, false); }