Hallo,
wie schon einmal in diesem Unterforum geschrieben liebe ich Extensions.
Leider geht das bei der Directory-Klasse aus dem System.IO Namespace nicht, da die Methoden dieser Klasse static sind.
Macht aber nichts - dann schreiben wir uns halt einen Wrapper.
Die Ursprüngliche GetFiles Methode aus System.Io.Directory hat ihre Mängel, deshalb verbessern wir das.
Der Aufruf erfolgt etwa so
Gruss
mikeb69
~blaze~: Thema verschoben
wie schon einmal in diesem Unterforum geschrieben liebe ich Extensions.
Leider geht das bei der Directory-Klasse aus dem System.IO Namespace nicht, da die Methoden dieser Klasse static sind.
Macht aber nichts - dann schreiben wir uns halt einen Wrapper.
Die Ursprüngliche GetFiles Methode aus System.Io.Directory hat ihre Mängel, deshalb verbessern wir das.
C#-Quellcode
- /// <summary>
- /// Wrapper für die Directory Klasse
- /// </summary>
- public static class Directory
- {
- /// <summary>
- /// Überschreibt die GetFiles Methode der Directory Klasse um die GetFiles Methode einfacher und sicherer zu machen
- /// </summary>
- /// <param name="folder">Ordner der Durchsucht werden soll</param>
- /// <param name="extensions">Liste von Erweiterungen die gesucht werden sollen, die Erweiterungen werden mit '|' getrennt und ohne * geschrieben</param>
- /// <returns>Ein Array mit den gefundenen Dateien</Returns>
- public static string[] GetFiles(string folder, string extensions)
- {
- List<string> result = new List<string>();
- if (string.IsNullOrEmpty(extensions))
- {
- return GetFiles(folder);
- }
- foreach (string extension in extensions.Split("|".ToArray(), StringSplitOptions.RemoveEmptyEntries))
- {
- result.AddRange(System.IO.Directory.EnumerateFiles(folder).Where(x => x.EndsWith(extension, StringComparison.OrdinalIgnoreCase)));
- }
- return result.ToArray();
- }
- /// <summary>
- /// Überschreibt die GetFiles Methode der Directory Klasse um die GetFiles Methode einfacher und sicherer zu machen
- /// </summary>
- /// <param name="folder">Ordner der Durchsucht werden soll</param>
- /// <returns>Gibt alle Dateien des angegebenen Ordners als Array zurück</returns>
- public static string[] GetFiles(string Folder)
- {
- return System.IO.Directory.EnumerateFiles(folder).ToArray();
- }
- }
Der Aufruf erfolgt etwa so
Gruss
mikeb69
~blaze~: Thema verschoben
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()