<PackageReference Include="Microsoft.Extensions.Primitives" Version="10.0.0-preview.4.25258.110" />

ChangeCallbackRegistrar

using Microsoft.Extensions.FileProviders; using System; using System.Threading; namespace Microsoft.Extensions.Internal { internal static class ChangeCallbackRegistrar { internal static IDisposable UnsafeRegisterChangeCallback<T>(Action<object> callback, object state, CancellationToken token, Action<T> onFailure, T onFailureState) { bool flag = false; if (!ExecutionContext.IsFlowSuppressed()) { ExecutionContext.SuppressFlow(); flag = true; } try { return token.Register(callback, state); } catch (ObjectDisposedException) { onFailure(onFailureState); } finally { if (flag) ExecutionContext.RestoreFlow(); } return EmptyDisposable.Instance; } } }