<PackageReference Include="NUnit" Version="4.3.1" />

On

static class On
Enables the Dispose syntax.
using System; using System.Runtime.CompilerServices; using System.Threading; namespace NUnit.Framework.Internal { internal static class On { private sealed class DisposableAction : IDisposable { [Nullable(2)] private Action _action; [NullableContext(1)] public DisposableAction(Action action) { _action = action; } public void Dispose() { Interlocked.Exchange(ref _action, null)?.Invoke(); } } [NullableContext(1)] public static IDisposable Dispose(Action action) { if (action == null) throw new ArgumentNullException("action"); return new DisposableAction(action); } } }