11
是否有可能去除附着匿名功能的事件处理程序?比方说,我有一个事件,我订阅了它这样:
TestClass classs = new TestClass();
classs.myCustomEvent += (a,b) => { Console.Write(""); };
是否有可能以某种方式来删除使用此事件处理 - =?
是否有可能去除附着匿名功能的事件处理程序?比方说,我有一个事件,我订阅了它这样:
TestClass classs = new TestClass();
classs.myCustomEvent += (a,b) => { Console.Write(""); };
是否有可能以某种方式来删除使用此事件处理 - =?
这是可能的,但你需要它首先存储在一个局部变量:
MyDelegate handler = (a, b) => { Console.Write(""); };
class.myCustomEvent += handler;
class.myCustomEvent -= handler;
不知道为什么,这是downvoted ... + 1,这是一个正确的答案。除了关于“本地”变量的部分:在大多数情况下,您需要将它存储在更长的位置...... –