イベントが終了したかどうかを確認するエレガントな方法はありますか? 私の唯一のオプションは、最初のイベントが終了したときに呼び出される別のイベント ハンドラーを作成するように見えます。
2455 次
2 に答える
3
呼び出しチェーンに関与するマルチスレッドがない場合は、最初の関数の最後でイベント ハンドラー関数を呼び出すだけです。
public void HandlingEvent( ...) {
//do some stuff
RaiseAnotherEventHandler();
}
于 2013-07-15T14:38:54.323 に答える
0
イベント ハンドラーは、戻り値の型が VOID のマルチキャスト デリゲートに他なりません。内部的に Observer パターンを実装し、イベント通知によってイベントが呼び出された/発生したときに、メッセージがすべてのサブスクライバーにブロードキャストされます。原則として、イベント通知機能はサブスクライバー側で何が起こるかを気にしませんが、サブスクライバーで例外が発生し、処理されない場合、その例外は通知機能に再スローされます。したがって、イベントの呼び出し/発生コードを try/catch ブロック内に囲み、イベントの発生/呼び出しコードが例外なく実行される場合、すべてのイベント ハンドラー/サブスクライバーが実行され、イベントの実行が終了したことを意味します。
于 2013-07-15T14:48:41.837 に答える