private async ValueTask OnDownloadProgressChanged(int bytesReceived, int bytesTotal) { var eventList = DownloadProgressChanged; if (eventList == null) { return; } var args = new AsyncDownloadProgressChangedEventArgs(bytesReceived, bytesTotal); var tasks = new List <Task>(); foreach (AsyncDownloadProgressChanged handler in eventList.GetInvocationList()) { tasks.Add(handler(this, args)); } await Task.WhenAll(tasks).ConfigureAwait(false); }
private static Task Download_DownloadProgressChanged(object sender, AsyncDownloadProgressChangedEventArgs eventArgs) { Console.WriteLine($"{eventArgs.ProgressPercentage:0.##}%"); return(Task.CompletedTask); }