EndInvokeでは、非同期処理メソッドの戻り値を受け取ることができるし、参照渡しで受け取ることもできる・・・。
今回は、2つの値の足し算を非同期処理でさせて、結果を取得する・・・。
今回のAsyncronousFuncDelegateは、引数にint型のa, bとint型の参照渡しでrefValue、戻り値がintという感じに・・・。
渡す非同期処理メソッドAsyncronousFuncは、
aとbを足してresultに格納・・・。
5秒休止したあと、refValueにも結果を格納・・・。
戻り値としてresultを返す・・・。
Main側は、
BeginInvokeの最初の3つは、AsyncronousFuncに渡す引数・・・。
可変引数なので、後ろの2つ以外は引数の数だけ増える・・・。
"Calculating..."と出力・・・。
EndInvokeの最初も可変引数で、参照渡しの引数の数だけ増える・・・。
でrefValueを指定し、戻り値resultも返ってくる・・・。
resultとrefValueを出力・・・。
Calculating... result = 30 refValue = 30 続行するには何かキーを押してください . . .
戻り値にも参照渡しにも計算結果が格納されている・・・。
Sample/cs/EndInvoke/EndInvoke/src/EndInvoke_ at master · bg1bgst333/Sample · GitHub