3
BeginXxx/EndXxxパターンを使用してメソッドを非同期に呼び出すと、BeginXxxを呼び出した後にIAsyncResult
という結果が得られます。メソッドBeginXxxxまたはEndXxxのいずれも結果変数への参照を持たない場合、どのようにして(戻り値変数の)プロパティ "isCompleted"が更新されますか?IAsyncResultのプロパティisCompletedはどのように更新されていますか?
例:
// Create the delegate.
AsyncMethodCaller caller = new AsyncMethodCaller(ad.TestMethod);
// Initiate the asychronous call.
IAsyncResult result = caller.BeginInvoke(3000, out threadId, null, null);
// Poll while simulating work.
while(result.IsCompleted == false) {
Thread.Sleep(250);
Console.Write(".");
}
OK。それは理にかなっている。したがって、この参照はisCompletedプロパティをfalseに変更するXxxxEndに渡されます。ありがとう... – outlookrperson