3

まだこのパターンが必要だったことがないので、これを行う方法がよくわかりません。イベントを含むオブジェクトの実行時にそれ自体を削除できる別のクラスでイベントハンドラーを作成する際の正しいパターンを探しています。

EventHandler基本的に、WPFWindow.Closeイベントで発生するを作成したいと思います。また、ハンドラーの実行中に、Window.Closeイベントから自身を削除します。私はそれが続けるのに十分具体的であることを願っています。

また、このパターンの特定の名前はありますか?

4

3 に答える 3

15

次のようなことをしてみてください:

 RoutedEventHandler handlerLoad = null;
 handlerLoad = delegate
        {
            //Do something
            Window.Close -= handlerLoad;
        };

Window.Close += handlerLoad;
于 2012-07-18T11:51:18.420 に答える
2

次のような作品はありますか?

public void EventHandlerSubscription_Invoked(object sender, EventArgs args)
{
    _objectContainingEvent.MyEventHandler -= EventHandlerSubscription;
}

これが賢明でない場合は申し訳ありませんが、頭のてっぺんから入力しています。

于 2012-07-18T11:47:13.933 に答える
1

あなたのプロジェクトの「何」についてもっと教えてください:あなたは何をするつもりですか。
手動リセットイベントに興味があるかもしれません。手動リセットイベントは、リセットしない限り1回だけトリガーされます:http: //msdn.microsoft.com/en-us/library/system.threading.manualresetevent.aspx

于 2012-07-18T12:05:29.200 に答える