3

IAsycnResult メソッドが完了するまで待機するメカニズムを作成する必要があります。どうすればこれを達成できますか?

IAsyncResult result = _contactGroupServices.BeginDeleteContact(
  contactToRemove.Uri,
  ar =>
      {
      try
         {
           _contactGroupServices.EndDeleteContact(ar);
         }
      catch (RealTimeException rtex)
         {
            Console.WriteLine(rtex);
         }
      },
      null ); 
4

2 に答える 2

3

このメソッドの目的が何かわかりません_contactGroupServices.BeginDeleteContact。しかし、そのためのテンプレートを書いてみましょう

Func<object> doWork = () =>
{
    return _contactGroupServices.BeginDeleteContact(<your parameters>)

};


AsyncCallback onWorkDone = (ar) =>
{
    //work done implementation
};

IAsyncResult asyncResult = doWork.BeginInvoke(onWorkDone, null); 

asyncResult.AsyncWaitHandle.WaitOne();

var result = doWork.EndInvoke(asyncResult);
于 2015-05-22T08:04:46.703 に答える