diff --git a/SabreTools.IO/Extensions/IOExtensions.cs b/SabreTools.IO/Extensions/IOExtensions.cs
index cfe94a3..35524ac 100644
--- a/SabreTools.IO/Extensions/IOExtensions.cs
+++ b/SabreTools.IO/Extensions/IOExtensions.cs
@@ -259,7 +259,67 @@ namespace SabreTools.IO.Extensions
}
}
-#if NET40_OR_GREATER || NETCOREAPP
+ ///
+ /// Returns an empty enumerable on any exception
+ public static IEnumerable SafeGetFileSystemEntries(this string path, string searchPattern, SearchOption searchOption)
+ {
+ try
+ {
+ var enumerable = Directory.GetFileSystemEntries(path, searchPattern);
+ return enumerable.SafeEnumerate();
+ }
+ catch
+ {
+ return [];
+ }
+ }
+
+#if NET20 || NET35
+ ///
+ /// Calls implementation
+ public static IEnumerable SafeEnumerateDirectories(this string path)
+ => path.SafeGetDirectories();
+
+ ///
+ /// Calls implementation
+ public static IEnumerable SafeEnumerateDirectories(this string path, string searchPattern)
+ => path.SafeGetDirectories(searchPattern);
+
+ ///
+ /// Calls implementation
+ public static IEnumerable SafeEnumerateDirectories(this string path, string searchPattern, SearchOption searchOption)
+ => path.SafeGetDirectories(searchPattern, searchOption);
+
+ ///
+ /// Calls implementation
+ public static IEnumerable SafeEnumerateFiles(this string path)
+ => path.SafeGetFiles();
+
+ ///
+ /// Calls implementation
+ public static IEnumerable SafeEnumerateFiles(this string path, string searchPattern)
+ => path.SafeGetFiles(searchPattern);
+
+ ///
+ /// Calls implementation
+ public static IEnumerable SafeEnumerateFiles(this string path, string searchPattern, SearchOption searchOption)
+ => path.SafeGetFiles(searchPattern, searchOption);
+
+ ///
+ /// Calls implementation
+ public static IEnumerable SafeEnumerateFileSystemEntries(this string path)
+ => path.SafeGetFileSystemEntries();
+
+ ///
+ /// Calls implementation
+ public static IEnumerable SafeEnumerateFileSystemEntries(this string path, string searchPattern)
+ => path.SafeGetFileSystemEntries(searchPattern);
+
+ ///
+ /// Calls implementation
+ public static IEnumerable SafeEnumerateFileSystemEntries(this string path, string searchPattern, SearchOption searchOption)
+ => path.SafeGetFileSystemEntries(searchPattern, searchOption);
+#else
///
public static IEnumerable SafeEnumerateDirectories(this string path)
{