Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除匿名事件处理程序_C#_Events_Event Handling - Fatal编程技术网

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;

不知道为什么这被否决了+这是一个正确的答案。除了关于“局部”变量的部分:在大多数情况下,您需要将其存储在一个更长寿命的位置。。。