async - await. - , IProgress.
, :
public Task DoSomething(IProgress<string> progress = null);
:
try
{
await DoSomething(new Progress<string>(status => Console.WriteLine(status)));
Console.WriteLine("COMPLETED");
}
catch (Exception e)
{
Console.WriteLine("EXCEPTION: " + e.Message);
}
# 5.0, ContinueWith() await, IProgress Progress:
DoSomething(new Progress<string>(status => Console.WriteLine(status)))
.ContinueWith(t =>
{
if (t.Exception != null)
Console.WriteLine("EXCEPTION: " + t.Exception.InnerException.Message);
else
Console.WriteLine("COMPLETED");
});