コード例 #1
0
        private void AsyncStarter(AsyncDeleteData data, WorkerDeleteEventHandler workerDelegate, Object userData)
        {
            AsyncOperation asyncOp = AsyncOperationManager.CreateOperation(userData);

            data.Operation = asyncOp;
            AddUserDataToDictionary(userData, asyncOp);

            // Start the asynchronous operation.
            workerDelegate.BeginInvoke(data, asyncOp, CompletionMethodDelegate, null, null);
        }
コード例 #2
0
        private void AsyncDeleteWorker(AsyncDeleteData data, AsyncOperation asyncOp, SendOrPostCallback completionMethodDelegate)
        {
            try
            {
                Delete(data.Entry, data.PermanentDelete);
            }
            catch (Exception e)
            {
                data.Exception = e;
            }

            completionMethodDelegate(data);
        }
コード例 #3
0
        public void DeleteAsync(AtomEntry entry, bool permanentDelete, Object userData)
        {
            AsyncDeleteData data = new AsyncDeleteData(entry, permanentDelete, userData, ProgressReportDelegate);

            AsyncStarter(data, AsyncDeleteWorker, userData);
        }