public static ConLibControlCollection Load() { ConLibControlCollection controls = new ConLibControlCollection(); InternalLoad(controls, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ConLib"), string.Empty); controls.Sort(new ConLibComparer()); return(controls); }
private static void InternalLoad(ConLibControlCollection controls, string folder, string prefix) { DirectoryInfo di = new DirectoryInfo(folder); if (di.Exists) { string filePrefix = prefix; if (filePrefix.Length > 0) { filePrefix += "\\"; } DirectoryInfo[] subDirs = di.GetDirectories(); foreach (DirectoryInfo subDir in subDirs) { InternalLoad(controls, subDir.FullName, filePrefix + subDir.Name); } FileInfo[] files = di.GetFiles("*.ascx"); foreach (FileInfo file in files) { controls.Add(new ConLibControl(filePrefix + file.Name.Substring(0, file.Name.Length - 5), file.FullName)); } } }