TeamCity.ServiceMessages/Write/Special/Impl/DisposableDelegate.cs (19 lines of code) (raw):
namespace JetBrains.TeamCity.ServiceMessages.Write.Special.Impl
{
using System;
internal class DisposableDelegate : IDisposable
{
private readonly Action _disposeAction;
[NotNull]
public static readonly IDisposable Empty = new DisposableDelegate(() => { });
public DisposableDelegate([NotNull] Action disposeAction)
{
if (disposeAction == null) throw new ArgumentNullException(nameof(disposeAction));
_disposeAction = disposeAction;
}
public void Dispose()
{
_disposeAction();
}
}
}