namespace DealerSelection.Common.Profiler { public class PerformanceProfiler : IDisposable { private bool disposed; public PerformanceProfiler(string operationName) { Profiler.StartOperation($"Custom - {operationName}"); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if (!disposed) { if (disposing) { Profiler.EndOperation(); } disposed = true; } } } }