using Process.Abstract; using Process.Interface; using System.Diagnostics; namespace CLI.Processor; public class StopwatchProcessor : Processor { private readonly IProcessor _processor; /// /// Execution time of the last processing action /// public TimeSpan? Elapsed { get; private set; } public StopwatchProcessor(IProcessor processor) => _processor = processor; public override IEnumerable Process(IEnumerable inputs) { var stopWatch = Stopwatch.StartNew(); var results = _processor.Process(inputs); stopWatch.Stop(); Elapsed = stopWatch.Elapsed; return results; } /// public override string? ToString() => _processor.ToString(); }