17/03/18 10:58:29.15 UTVmwL6L.net
ふむー、こうか
確かに Progress<T> にこだわる必要はなかったなー
public class SynchronousProgress<T> : IProgress<T>
{
private readonly SynchronizationContext _Context;
private readonly Action<T> _Action;
public SynchronousProgress(Action<T> action)
{
_Action = action;
_Context = SynchronizationContext.Current ?? new SynchronizationContext();
}
private void Callback(object state)
{ _Action?.Invoke((T)state); }
public void Report(T value)
{ _Context.Send(Callback, value); }
}
見づらいと思うので一応 pastebin にも貼っておく
URLリンク(pastebin.com)