Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
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

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.1;netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class ConfigureNamedOptions<TOptions> : IConfigureNamedOptions<TOptions>
/// </summary>
/// <param name="name">The name of the options.</param>
/// <param name="action">The action to register.</param>
public ConfigureNamedOptions(string name, Action<TOptions> action)
public ConfigureNamedOptions(string? name, Action<TOptions>? action)
{
Name = name;
Action = action;
Expand All @@ -25,19 +25,19 @@ public ConfigureNamedOptions(string name, Action<TOptions> action)
/// <summary>
/// The options name.
/// </summary>
public string Name { get; }
public string? Name { get; }

/// <summary>
/// The configuration action.
/// </summary>
public Action<TOptions> Action { get; }
public Action<TOptions>? Action { get; }

/// <summary>
/// Invokes the registered configure <see cref="Action"/> if the <paramref name="name"/> matches.
/// </summary>
/// <param name="name">The name of the options instance being configured.</param>
/// <param name="options">The options instance to configure.</param>
public virtual void Configure(string name, TOptions options!!)
public virtual void Configure(string? name, TOptions options!!)
{
// Null name is used to configure all named options.
if (Name == null || name == Name)
Expand Down Expand Up @@ -68,7 +68,7 @@ public class ConfigureNamedOptions<TOptions, TDep> : IConfigureNamedOptions<TOpt
/// <param name="name">The name of the options.</param>
/// <param name="dependency">A dependency.</param>
/// <param name="action">The action to register.</param>
public ConfigureNamedOptions(string name, TDep dependency, Action<TOptions, TDep> action)
public ConfigureNamedOptions(string? name, TDep dependency, Action<TOptions, TDep>? action)
{
Name = name;
Action = action;
Expand All @@ -78,12 +78,12 @@ public ConfigureNamedOptions(string name, TDep dependency, Action<TOptions, TDep
/// <summary>
/// The options name.
/// </summary>
public string Name { get; }
public string? Name { get; }

/// <summary>
/// The configuration action.
/// </summary>
public Action<TOptions, TDep> Action { get; }
public Action<TOptions, TDep>? Action { get; }

/// <summary>
/// The dependency.
Expand All @@ -95,7 +95,7 @@ public ConfigureNamedOptions(string name, TDep dependency, Action<TOptions, TDep
/// </summary>
/// <param name="name">The name of the options instance being configured.</param>
/// <param name="options">The options instance to configure.</param>
public virtual void Configure(string name, TOptions options!!)
public virtual void Configure(string? name, TOptions options!!)
{
// Null name is used to configure all named options.
if (Name == null || name == Name)
Expand Down Expand Up @@ -129,7 +129,7 @@ public class ConfigureNamedOptions<TOptions, TDep1, TDep2> : IConfigureNamedOpti
/// <param name="dependency">A dependency.</param>
/// <param name="dependency2">A second dependency.</param>
/// <param name="action">The action to register.</param>
public ConfigureNamedOptions(string name, TDep1 dependency, TDep2 dependency2, Action<TOptions, TDep1, TDep2> action)
public ConfigureNamedOptions(string? name, TDep1 dependency, TDep2 dependency2, Action<TOptions, TDep1, TDep2>? action)
{
Name = name;
Action = action;
Expand All @@ -140,12 +140,12 @@ public ConfigureNamedOptions(string name, TDep1 dependency, TDep2 dependency2, A
/// <summary>
/// The options name.
/// </summary>
public string Name { get; }
public string? Name { get; }

/// <summary>
/// The configuration action.
/// </summary>
public Action<TOptions, TDep1, TDep2> Action { get; }
public Action<TOptions, TDep1, TDep2>? Action { get; }

/// <summary>
/// The first dependency.
Expand All @@ -162,7 +162,7 @@ public ConfigureNamedOptions(string name, TDep1 dependency, TDep2 dependency2, A
/// </summary>
/// <param name="name">The name of the options instance being configured.</param>
/// <param name="options">The options instance to configure.</param>
public virtual void Configure(string name, TOptions options!!)
public virtual void Configure(string? name, TOptions options!!)
{
// Null name is used to configure all named options.
if (Name == null || name == Name)
Expand Down Expand Up @@ -199,7 +199,7 @@ public class ConfigureNamedOptions<TOptions, TDep1, TDep2, TDep3> : IConfigureNa
/// <param name="dependency2">A second dependency.</param>
/// <param name="dependency3">A third dependency.</param>
/// <param name="action">The action to register.</param>
public ConfigureNamedOptions(string name, TDep1 dependency, TDep2 dependency2, TDep3 dependency3, Action<TOptions, TDep1, TDep2, TDep3> action)
public ConfigureNamedOptions(string? name, TDep1 dependency, TDep2 dependency2, TDep3 dependency3, Action<TOptions, TDep1, TDep2, TDep3>? action)
{
Name = name;
Action = action;
Expand All @@ -211,12 +211,12 @@ public ConfigureNamedOptions(string name, TDep1 dependency, TDep2 dependency2, T
/// <summary>
/// The options name.
/// </summary>
public string Name { get; }
public string? Name { get; }

/// <summary>
/// The configuration action.
/// </summary>
public Action<TOptions, TDep1, TDep2, TDep3> Action { get; }
public Action<TOptions, TDep1, TDep2, TDep3>? Action { get; }

/// <summary>
/// The first dependency.
Expand All @@ -238,7 +238,7 @@ public ConfigureNamedOptions(string name, TDep1 dependency, TDep2 dependency2, T
/// </summary>
/// <param name="name">The name of the options instance being configured.</param>
/// <param name="options">The options instance to configure.</param>
public virtual void Configure(string name, TOptions options!!)
public virtual void Configure(string? name, TOptions options!!)
{
// Null name is used to configure all named options.
if (Name == null || name == Name)
Expand Down Expand Up @@ -278,7 +278,7 @@ public class ConfigureNamedOptions<TOptions, TDep1, TDep2, TDep3, TDep4> : IConf
/// <param name="dependency3">A third dependency.</param>
/// <param name="dependency4">A fourth dependency.</param>
/// <param name="action">The action to register.</param>
public ConfigureNamedOptions(string name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, Action<TOptions, TDep1, TDep2, TDep3, TDep4> action)
public ConfigureNamedOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, Action<TOptions, TDep1, TDep2, TDep3, TDep4>? action)
{
Name = name;
Action = action;
Expand All @@ -291,12 +291,12 @@ public ConfigureNamedOptions(string name, TDep1 dependency1, TDep2 dependency2,
/// <summary>
/// The options name.
/// </summary>
public string Name { get; }
public string? Name { get; }

/// <summary>
/// The configuration action.
/// </summary>
public Action<TOptions, TDep1, TDep2, TDep3, TDep4> Action { get; }
public Action<TOptions, TDep1, TDep2, TDep3, TDep4>? Action { get; }

/// <summary>
/// The first dependency.
Expand All @@ -323,7 +323,7 @@ public ConfigureNamedOptions(string name, TDep1 dependency1, TDep2 dependency2,
/// </summary>
/// <param name="name">The name of the options instance being configured.</param>
/// <param name="options">The options instance to configure.</param>
public virtual void Configure(string name, TOptions options!!)
public virtual void Configure(string? name, TOptions options!!)
{
// Null name is used to configure all named options.
if (Name == null || name == Name)
Expand Down Expand Up @@ -366,7 +366,7 @@ public class ConfigureNamedOptions<TOptions, TDep1, TDep2, TDep3, TDep4, TDep5>
/// <param name="dependency4">A fourth dependency.</param>
/// <param name="dependency5">A fifth dependency.</param>
/// <param name="action">The action to register.</param>
public ConfigureNamedOptions(string name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, Action<TOptions, TDep1, TDep2, TDep3, TDep4, TDep5> action)
public ConfigureNamedOptions(string? name, TDep1 dependency1, TDep2 dependency2, TDep3 dependency3, TDep4 dependency4, TDep5 dependency5, Action<TOptions, TDep1, TDep2, TDep3, TDep4, TDep5>? action)
{
Name = name;
Action = action;
Expand All @@ -380,12 +380,12 @@ public ConfigureNamedOptions(string name, TDep1 dependency1, TDep2 dependency2,
/// <summary>
/// The options name.
/// </summary>
public string Name { get; }
public string? Name { get; }

/// <summary>
/// The configuration action.
/// </summary>
public Action<TOptions, TDep1, TDep2, TDep3, TDep4, TDep5> Action { get; }
public Action<TOptions, TDep1, TDep2, TDep3, TDep4, TDep5>? Action { get; }

/// <summary>
/// The first dependency.
Expand Down Expand Up @@ -417,7 +417,7 @@ public ConfigureNamedOptions(string name, TDep1 dependency1, TDep2 dependency2,
/// </summary>
/// <param name="name">The name of the options instance being configured.</param>
/// <param name="options">The options instance to configure.</param>
public virtual void Configure(string name, TOptions options!!)
public virtual void Configure(string? name, TOptions options!!)
{
// Null name is used to configure all named options.
if (Name == null || name == Name)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ public class ConfigureOptions<TOptions> : IConfigureOptions<TOptions> where TOpt
/// Constructor.
/// </summary>
/// <param name="action">The action to register.</param>
public ConfigureOptions(Action<TOptions> action)
public ConfigureOptions(Action<TOptions>? action)
{
Action = action;
}

/// <summary>
/// The configuration action.
/// </summary>
public Action<TOptions> Action { get; }
public Action<TOptions>? Action { get; }

/// <summary>
/// Invokes the registered configure <see cref="Action"/>.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ public interface IConfigureNamedOptions<in TOptions> : IConfigureOptions<TOption
/// </summary>
/// <param name="name">The name of the options instance being configured.</param>
/// <param name="options">The options instance to configure.</param>
void Configure(string name, TOptions options);
void Configure(string? name, TOptions options);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ public interface IOptionsChangeTokenSource<out TOptions>
/// <summary>
/// The name of the option instance being changed.
/// </summary>
string Name { get; }
string? Name { get; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ public interface IOptionsMonitor<[DynamicallyAccessedMembers(Options.Dynamically
/// <summary>
/// Returns a configured <typeparamref name="TOptions"/> instance with the given name.
/// </summary>
TOptions Get(string name);
TOptions Get(string? name);

/// <summary>
/// Registers a listener to be called whenever a named <typeparamref name="TOptions"/> changes.
/// </summary>
/// <param name="listener">The action to be invoked when <typeparamref name="TOptions"/> has changed.</param>
/// <returns>An <see cref="IDisposable"/> which should be disposed to stop listening for changes.</returns>
IDisposable OnChange(Action<TOptions, string> listener);
IDisposable OnChange(Action<TOptions, string?> listener);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,22 @@ public interface IOptionsMonitorCache<[DynamicallyAccessedMembers(Options.Dynami
/// <param name="name">The name of the options instance.</param>
/// <param name="createOptions">The func used to create the new instance.</param>
/// <returns>The options instance.</returns>
TOptions GetOrAdd(string name, Func<TOptions> createOptions);
TOptions GetOrAdd(string? name, Func<TOptions> createOptions);

/// <summary>
/// Tries to adds a new option to the cache, will return false if the name already exists.
/// </summary>
/// <param name="name">The name of the options instance.</param>
/// <param name="options">The options instance.</param>
/// <returns>Whether anything was added.</returns>
bool TryAdd(string name, TOptions options);
bool TryAdd(string? name, TOptions options);

/// <summary>
/// Try to remove an options instance.
/// </summary>
/// <param name="name">The name of the options instance.</param>
/// <returns>Whether anything was removed.</returns>
bool TryRemove(string name);
bool TryRemove(string? name);

/// <summary>
/// Clears all options instances from the cache.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ public interface IOptionsSnapshot<[DynamicallyAccessedMembers(Options.Dynamicall
/// <summary>
/// Returns a configured <typeparamref name="TOptions"/> instance with the given name.
/// </summary>
TOptions Get(string name);
TOptions Get(string? name);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ public interface IPostConfigureOptions<in TOptions> where TOptions : class
/// </summary>
/// <param name="name">The name of the options instance being configured.</param>
/// <param name="options">The options instance to configured.</param>
void PostConfigure(string name, TOptions options);
void PostConfigure(string? name, TOptions options);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ public interface IValidateOptions<TOptions> where TOptions : class
/// <param name="name">The name of the options instance being validated.</param>
/// <param name="options">The options instance.</param>
/// <returns>The <see cref="ValidateOptionsResult"/> result.</returns>
ValidateOptionsResult Validate(string name, TOptions options);
ValidateOptionsResult Validate(string? name, TOptions options);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.1;netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
<Nullable>enable</Nullable>
<EnableDefaultItems>true</EnableDefaultItems>
<!-- Use targeting pack references instead of granular ones in the project file. -->
<DisableImplicitAssemblyReferences>false</DisableImplicitAssemblyReferences>
Expand Down
Loading