From 5dac6136c32714414c964ce0445b5e31b3c78ead Mon Sep 17 00:00:00 2001 From: Maksym Koshovyi Date: Sun, 3 Oct 2021 15:56:13 +0300 Subject: [PATCH] configureOptions are non-nullable --- .../src/ConfigurationBinder.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Configuration.Binder/src/ConfigurationBinder.cs b/src/libraries/Microsoft.Extensions.Configuration.Binder/src/ConfigurationBinder.cs index 2e00d25656843..ef54ebcedf0e6 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Binder/src/ConfigurationBinder.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.Binder/src/ConfigurationBinder.cs @@ -30,7 +30,7 @@ public static class ConfigurationBinder /// The new instance of T if successful, default(T) otherwise. [RequiresUnreferencedCode(TrimmingWarningMessage)] public static T? Get<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>(this IConfiguration configuration) - => configuration.Get(null); + => configuration.Get(_ => { }); /// /// Attempts to bind the configuration instance to a new instance of type T. @@ -42,12 +42,16 @@ public static class ConfigurationBinder /// Configures the binder options. /// The new instance of T if successful, default(T) otherwise. [RequiresUnreferencedCode(TrimmingWarningMessage)] - public static T? Get<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>(this IConfiguration configuration, Action? configureOptions) + public static T? Get<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>(this IConfiguration configuration, Action configureOptions) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } + if (configureOptions is null) + { + throw new ArgumentNullException(nameof(configureOptions)); + } object? result = configuration.Get(typeof(T), configureOptions); if (result == null) @@ -67,7 +71,7 @@ public static class ConfigurationBinder /// The new instance if successful, null otherwise. [RequiresUnreferencedCode(TrimmingWarningMessage)] public static object? Get(this IConfiguration configuration, Type type) - => configuration.Get(type, null); + => configuration.Get(type, _ => { }); /// /// Attempts to bind the configuration instance to a new instance of type T. @@ -83,7 +87,7 @@ public static class ConfigurationBinder this IConfiguration configuration, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type type, - Action? configureOptions) + Action configureOptions) { if (configuration == null) { @@ -91,7 +95,7 @@ public static class ConfigurationBinder } var options = new BinderOptions(); - configureOptions?.Invoke(options); + configureOptions(options); return BindInstance(type, instance: null, config: configuration, options: options); }