Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Revert "configureOptions are non-nullable"
This reverts commit 5dac613.
  • Loading branch information
maxkoshevoi committed Oct 3, 2021
commit d5e359f7ef8fafb74be19b117c4cca03de4d79e2
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public static class ConfigurationBinder
/// <returns>The new instance of T if successful, default(T) otherwise.</returns>
[RequiresUnreferencedCode(TrimmingWarningMessage)]
public static T? Get<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>(this IConfiguration configuration)
=> configuration.Get<T>(_ => { });
=> configuration.Get<T>(null);

/// <summary>
/// Attempts to bind the configuration instance to a new instance of type T.
Expand All @@ -42,16 +42,12 @@ public static class ConfigurationBinder
/// <param name="configureOptions">Configures the binder options.</param>
/// <returns>The new instance of T if successful, default(T) otherwise.</returns>
[RequiresUnreferencedCode(TrimmingWarningMessage)]
public static T? Get<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>(this IConfiguration configuration, Action<BinderOptions> configureOptions)
public static T? Get<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>(this IConfiguration configuration, Action<BinderOptions>? 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)
Expand All @@ -71,7 +67,7 @@ public static class ConfigurationBinder
/// <returns>The new instance if successful, null otherwise.</returns>
[RequiresUnreferencedCode(TrimmingWarningMessage)]
public static object? Get(this IConfiguration configuration, Type type)
=> configuration.Get(type, _ => { });
=> configuration.Get(type, null);

/// <summary>
/// Attempts to bind the configuration instance to a new instance of type T.
Expand All @@ -87,15 +83,15 @@ public static class ConfigurationBinder
this IConfiguration configuration,
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]
Type type,
Action<BinderOptions> configureOptions)
Action<BinderOptions>? configureOptions)
{
if (configuration == null)
{
throw new ArgumentNullException(nameof(configuration));
}

var options = new BinderOptions();
configureOptions(options);
configureOptions?.Invoke(options);
return BindInstance(type, instance: null, config: configuration, options: options);
}

Expand Down