diff --git a/src/libraries/System.Private.CoreLib/src/System/IO/Directory.cs b/src/libraries/System.Private.CoreLib/src/System/IO/Directory.cs index 50f649bebbfbcd..78715de118e537 100644 --- a/src/libraries/System.Private.CoreLib/src/System/IO/Directory.cs +++ b/src/libraries/System.Private.CoreLib/src/System/IO/Directory.cs @@ -197,18 +197,19 @@ internal static IEnumerable InternalEnumeratePaths( string path, string searchPattern, SearchTarget searchTarget, - EnumerationOptions options) + EnumerationOptions enumerationOptions) { ArgumentNullException.ThrowIfNull(path); ArgumentNullException.ThrowIfNull(searchPattern); + ArgumentNullException.ThrowIfNull(enumerationOptions); - FileSystemEnumerableFactory.NormalizeInputs(ref path, ref searchPattern, options.MatchType); + FileSystemEnumerableFactory.NormalizeInputs(ref path, ref searchPattern, enumerationOptions.MatchType); return searchTarget switch { - SearchTarget.Files => FileSystemEnumerableFactory.UserFiles(path, searchPattern, options), - SearchTarget.Directories => FileSystemEnumerableFactory.UserDirectories(path, searchPattern, options), - SearchTarget.Both => FileSystemEnumerableFactory.UserEntries(path, searchPattern, options), + SearchTarget.Files => FileSystemEnumerableFactory.UserFiles(path, searchPattern, enumerationOptions), + SearchTarget.Directories => FileSystemEnumerableFactory.UserDirectories(path, searchPattern, enumerationOptions), + SearchTarget.Both => FileSystemEnumerableFactory.UserEntries(path, searchPattern, enumerationOptions), _ => throw new ArgumentOutOfRangeException(nameof(searchTarget)), }; } diff --git a/src/libraries/System.Private.CoreLib/src/System/IO/DirectoryInfo.cs b/src/libraries/System.Private.CoreLib/src/System/IO/DirectoryInfo.cs index 2f46635df51b6e..835ab22793730c 100644 --- a/src/libraries/System.Private.CoreLib/src/System/IO/DirectoryInfo.cs +++ b/src/libraries/System.Private.CoreLib/src/System/IO/DirectoryInfo.cs @@ -183,19 +183,20 @@ private IEnumerable InternalEnumerateInfos( string path, string searchPattern, SearchTarget searchTarget, - EnumerationOptions options) + EnumerationOptions enumerationOptions) { ArgumentNullException.ThrowIfNull(searchPattern); + ArgumentNullException.ThrowIfNull(enumerationOptions); Debug.Assert(path != null); - _isNormalized &= FileSystemEnumerableFactory.NormalizeInputs(ref path, ref searchPattern, options.MatchType); + _isNormalized &= FileSystemEnumerableFactory.NormalizeInputs(ref path, ref searchPattern, enumerationOptions.MatchType); return searchTarget switch { - SearchTarget.Directories => FileSystemEnumerableFactory.DirectoryInfos(path, searchPattern, options, _isNormalized), - SearchTarget.Files => FileSystemEnumerableFactory.FileInfos(path, searchPattern, options, _isNormalized), - SearchTarget.Both => FileSystemEnumerableFactory.FileSystemInfos(path, searchPattern, options, _isNormalized), + SearchTarget.Directories => FileSystemEnumerableFactory.DirectoryInfos(path, searchPattern, enumerationOptions, _isNormalized), + SearchTarget.Files => FileSystemEnumerableFactory.FileInfos(path, searchPattern, enumerationOptions, _isNormalized), + SearchTarget.Both => FileSystemEnumerableFactory.FileSystemInfos(path, searchPattern, enumerationOptions, _isNormalized), _ => throw new ArgumentException(SR.ArgumentOutOfRange_Enum, nameof(searchTarget)), }; } diff --git a/src/libraries/System.Runtime/tests/System.IO.FileSystem.Tests/Enumeration/MatchCasingTests.cs b/src/libraries/System.Runtime/tests/System.IO.FileSystem.Tests/Enumeration/MatchCasingTests.cs index 3599af19d71aaf..24c34aa021de23 100644 --- a/src/libraries/System.Runtime/tests/System.IO.FileSystem.Tests/Enumeration/MatchCasingTests.cs +++ b/src/libraries/System.Runtime/tests/System.IO.FileSystem.Tests/Enumeration/MatchCasingTests.cs @@ -10,6 +10,12 @@ public abstract class MatchCasingTests : FileSystemTest { protected abstract string[] GetPaths(string directory, string pattern, EnumerationOptions options); + [Fact] + public void EnumerationOptionsNull() + { + AssertExtensions.Throws("enumerationOptions", () => GetPaths(GetTestFilePath(), "file*", null)); + } + [Fact] public void MatchCase() {