C# 删除匿名事件处理程序
可能重复:C# 删除匿名事件处理程序,c#,events,event-handling,C#,Events,Event Handling,可能重复: 是否可以删除作为匿名函数附加的事件处理程序?假设我有一个活动,我以这种方式订阅它: TestClass classs = new TestClass (); classs.myCustomEvent += (a,b) => { Console.Write(""); }; 是否可以使用-=?以某种方式删除此eventHandler 这是可能的,但您需要先将其存储在局部变量中: MyDelegate handler = (a, b) => { Console.Write
是否可以删除作为匿名函数附加的事件处理程序?假设我有一个活动,我以这种方式订阅它:
TestClass classs = new TestClass ();
classs.myCustomEvent += (a,b) => { Console.Write(""); };
是否可以使用-=?以某种方式删除此eventHandler 这是可能的,但您需要先将其存储在局部变量中:
MyDelegate handler = (a, b) => { Console.Write(""); };
class.myCustomEvent += handler;
class.myCustomEvent -= handler;
不知道为什么这被否决了+这是一个正确的答案。除了关于“局部”变量的部分:在大多数情况下,您需要将其存储在一个更长寿命的位置。。。