以前はこのフォーラムを参照して回答を見つけていましたが、今回は次の質問を完全に理解できるものを見つけることができませんでした。
私はこのプログラムを持っています:
IAsyncResult asrr;
DELG d = (o) =>
{
short i = 10;
string msg = (string)o;
while (i > 0)
{
Console.WriteLine("Work - > {0}::{1}", i, msg);
System.Threading.Thread.Sleep(1000);
i--;
}
};
asrr = d.BeginInvoke(((object)("T1")), (asr) =>
{
DELG dlg = (DELG)((System.Runtime.Remoting.Messaging.AsyncResult)asr).AsyncDelegate;
dlg.EndInvoke(asr);
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("callback");
Console.ForegroundColor = ConsoleColor.Gray;
}, d);
次に、ここで何が起こっているかを理解したと思います: asrr を使用して非同期的に呼び出されるデリゲートがあります。デリゲートにいくつかの引数 'd' を与えます: デリゲートに表示される T1、コールバック メソッド (この演習で必要だったのでラムダ メソッドを使用しています)、およびデリゲート d です。
よくわかりません... T1 を送信することは理解していますが、"(asr)" はどこから来るのでしょうか? begininvoke の後に何が起こっているのか、何が起こっているのかわかりません。
DELG dlg = (DELG)((System.Runtime.Remoting.Messaging.AsyncResult)asr).AsyncDelegate;
ここでも asr を確認できますが、理解できません。
私はこのリンクを見つけました: デリゲートとイベント しかし、それは私を助けましたが、私はまだそれをすべて理解していません. それについての情報を教えてください。
着信回答に感謝します。