From e7a7bbd2a15719426f05164f3bd0fa6cec6a89a4 Mon Sep 17 00:00:00 2001 From: Maksym Koshovyi Date: Sat, 12 Feb 2022 00:58:11 +0200 Subject: [PATCH 1/2] Update IOptionsMonitor --- .../ref/Microsoft.Extensions.Options.cs | 2 +- .../Microsoft.Extensions.Options/src/IOptionsMonitor.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Options/ref/Microsoft.Extensions.Options.cs b/src/libraries/Microsoft.Extensions.Options/ref/Microsoft.Extensions.Options.cs index 8b3dd4b7629cce..e8ee4d41592fd6 100644 --- a/src/libraries/Microsoft.Extensions.Options/ref/Microsoft.Extensions.Options.cs +++ b/src/libraries/Microsoft.Extensions.Options/ref/Microsoft.Extensions.Options.cs @@ -121,7 +121,7 @@ public partial interface IOptionsMonitor<[System.Diagnostics.CodeAnalysis.Dynami { TOptions CurrentValue { get; } TOptions Get(string? name); - System.IDisposable OnChange(System.Action listener); + System.IDisposable? OnChange(System.Action listener); } public partial interface IOptionsSnapshot<[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] out TOptions> : Microsoft.Extensions.Options.IOptions where TOptions : class { diff --git a/src/libraries/Microsoft.Extensions.Options/src/IOptionsMonitor.cs b/src/libraries/Microsoft.Extensions.Options/src/IOptionsMonitor.cs index a3696fb1161f82..3abb1ee1066253 100644 --- a/src/libraries/Microsoft.Extensions.Options/src/IOptionsMonitor.cs +++ b/src/libraries/Microsoft.Extensions.Options/src/IOptionsMonitor.cs @@ -27,6 +27,6 @@ public interface IOptionsMonitor<[DynamicallyAccessedMembers(Options.Dynamically /// /// The action to be invoked when has changed. /// An which should be disposed to stop listening for changes. - IDisposable OnChange(Action listener); + IDisposable? OnChange(Action listener); } } From 0dbfadbed76d5e3f0faff38409b7f4fd6bda4064 Mon Sep 17 00:00:00 2001 From: Maksym Koshovyi Date: Sat, 12 Feb 2022 01:15:08 +0200 Subject: [PATCH 2/2] Update OptionsMonitorExtensions --- .../ref/Microsoft.Extensions.Options.cs | 2 +- .../src/OptionsMonitorExtensions.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Options/ref/Microsoft.Extensions.Options.cs b/src/libraries/Microsoft.Extensions.Options/ref/Microsoft.Extensions.Options.cs index e8ee4d41592fd6..35307389a208b9 100644 --- a/src/libraries/Microsoft.Extensions.Options/ref/Microsoft.Extensions.Options.cs +++ b/src/libraries/Microsoft.Extensions.Options/ref/Microsoft.Extensions.Options.cs @@ -197,7 +197,7 @@ public OptionsManager(Microsoft.Extensions.Options.IOptionsFactory fac } public static partial class OptionsMonitorExtensions { - public static System.IDisposable OnChange<[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] TOptions>(this Microsoft.Extensions.Options.IOptionsMonitor monitor, System.Action listener) { throw null; } + public static System.IDisposable? OnChange<[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] TOptions>(this Microsoft.Extensions.Options.IOptionsMonitor monitor, System.Action listener) { throw null; } } public partial class OptionsMonitor<[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] TOptions> : Microsoft.Extensions.Options.IOptionsMonitor, System.IDisposable where TOptions : class { diff --git a/src/libraries/Microsoft.Extensions.Options/src/OptionsMonitorExtensions.cs b/src/libraries/Microsoft.Extensions.Options/src/OptionsMonitorExtensions.cs index 518a5744f85b82..e79107a6924551 100644 --- a/src/libraries/Microsoft.Extensions.Options/src/OptionsMonitorExtensions.cs +++ b/src/libraries/Microsoft.Extensions.Options/src/OptionsMonitorExtensions.cs @@ -17,7 +17,7 @@ public static class OptionsMonitorExtensions /// The IOptionsMonitor. /// The action to be invoked when has changed. /// An which should be disposed to stop listening for changes. - public static IDisposable OnChange<[DynamicallyAccessedMembers(Options.DynamicallyAccessedMembers)] TOptions>( + public static IDisposable? OnChange<[DynamicallyAccessedMembers(Options.DynamicallyAccessedMembers)] TOptions>( this IOptionsMonitor monitor, Action listener) => monitor.OnChange((o, _) => listener(o));