public static void DownloadDataToFile(string address, DownloadDataResultHandler callback) { Task <Tuple <byte[]?, Exception> > DownloadTask = new Task <Tuple <byte[]?, Exception> >(() => { return(ExecuteDownloadData(address)); }); DownloadTask.Start(); OnCheckDownload(DownloadTask, callback); }
private static void OnCheckDownload(Task <Tuple <byte[]?, Exception> > downloadTask, DownloadDataResultHandler callback) { for (; ;) { if (downloadTask.IsCompleted) { Tuple <byte[]?, Exception> Result = downloadTask.Result; callback(Result.Item1, Result.Item2); break; } Thread.Sleep(1000); } }