public void DownloadFileListAsync(DownloadInfoCollection filelist, object userToken)
 {
     if (!this.IsBusy)
     {
         if (!filelist.IsEmpty)
         {
             DownloadInfo item = filelist.TakeFirst();
             this.DownloadFileAsyncEx(item.URL, item.Filename, new DownloadAsyncWrapper(filelist, userToken));
         }
     }
 }
 public void DownloadFileListAsync(Dictionary <System.Uri, string> fileList, object userToken)
 {
     if (fileList.Count > 0)
     {
         DownloadInfoCollection list = new DownloadInfoCollection();
         foreach (var fileNode in fileList)
         {
             list.Add(new DownloadInfo(fileNode.Key, fileNode.Value));
         }
         this.DownloadFileListAsync(list, userToken);
     }
 }
 public DownloadAsyncWrapper(DownloadInfoCollection list) : this(list, null)
 {
 }
 public DownloadAsyncWrapper(DownloadInfoCollection list, object token)
 {
     this.userToken = token;
     this.filelist  = list;
 }