【发布时间】:2011-09-21 13:30:41
【问题描述】:
是否可以删除作为匿名函数附加的事件处理程序?假设我有一个活动,我以这种方式订阅它:
TestClass classs = new TestClass ();
classs.myCustomEvent += (a,b) => { Console.Write(""); };
是否可以使用 -= 以某种方式删除此事件处理程序?
【问题讨论】:
标签: c# events event-handling
是否可以删除作为匿名函数附加的事件处理程序?假设我有一个活动,我以这种方式订阅它:
TestClass classs = new TestClass ();
classs.myCustomEvent += (a,b) => { Console.Write(""); };
是否可以使用 -= 以某种方式删除此事件处理程序?
【问题讨论】:
标签: c# events event-handling
可以,但是需要先存到局部变量中:
MyDelegate handler = (a, b) => { Console.Write(""); };
class.myCustomEvent += handler;
class.myCustomEvent -= handler;
【讨论】: