rd-net/Test.Lifetimes/Disposable.cs (17 lines of code) (raw):
using System;
namespace Test.Lifetimes
{
public class Disposable : IDisposable
{
private Action myAction;
public Disposable(Action action)
{
myAction = action;
}
public void Dispose()
{
myAction?.Invoke();
}
public static IDisposable CreateAction(Action dispose) => new Disposable(dispose);
}
}