public long AddDownload(Uri uri, string filename, string title, IDownloadUpdated2 notify) { long id = 0; object obj2 = MBDownloadManager2.requestQueue; lock (obj2) { if (MBDownloadManager2.pendingRequests.ContainsKey(uri)) { return(0); } } if (notify == null) { throw new ArgumentNullException("notify"); } object obj = MBDownloadManager2.requestQueue; lock (obj) { if (MBDownloadManager2.pendingRequests.ContainsKey(uri)) { MBDownloadManager2.pendingRequests[uri].Add(notify); } else { List <IDownloadUpdated2> list = new List <IDownloadUpdated2>(4); list.Add(notify); MBDownloadManager2.pendingRequests[uri] = list; id = MBDownloadManager2.Download(uri, filename, title, notify); } } return(id); }