Add IProgress<double> to ProgressTask.cs

Makes the Report method an explicit implementation to allow for better interoperability with standard .NET progress functionality while keeping backwards compatibility with existing ProgressTask functionality.

Closes #285
This commit is contained in:
Phil Scott 2021-03-06 10:35:29 -05:00 committed by Patrik Svensson
parent 855127f32a
commit da9c6ee4c2

View File

@ -7,7 +7,7 @@ namespace Spectre.Console
/// <summary>
/// Represents a progress task.
/// </summary>
public sealed class ProgressTask
public sealed class ProgressTask : IProgress<double>
{
private readonly List<ProgressSample> _samples;
private readonly object _lock;
@ -297,5 +297,11 @@ namespace Spectre.Console
return TimeSpan.FromSeconds(estimate);
}
}
/// <inheritdoc />
void IProgress<double>.Report(double value)
{
Update(increment: value - Value);
}
}
}