需要创建一个事件处理程序,以便在事件发生时将其自身删除



我真的不知道如何做到这一点,因为我从来没有需要过这种模式。我正在寻找在一个单独的类中创建事件处理程序的正确模式,该类可以在包含事件的对象执行时删除它自己。

基本上,我想创建一个发生在WPF Window.Close事件上的EventHandler。并且,在处理程序的执行过程中,它将自己从Window.Close事件中移除。我希望这足够具体,可以继续下去。

此外,这种模式有一个特定的名称吗?

试着做下一步:

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

下面的工作会怎么样?

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

很抱歉,如果这不明智的话,我正在拼命打字。

请详细介绍项目的"内容":您打算做什么。
也许你会对手动重置事件感兴趣,它只触发一次,除非您重置它们:http://msdn.microsoft.com/en-us/library/system.threading.manualresetevent.aspx

相关内容

  • 没有找到相关文章

最新更新