是否可以从事件中取消订阅匿名方法?
如果我订阅这样的事件:
void MyMethod() { Console.WriteLine("I did it!"); } MyEvent += MyMethod;
我可以像这样取消订阅:
MyEvent -= MyMethod;
但是,如果我使用匿名方法订阅:
MyEvent += delegate(){Console.WriteLine("I did it!");};
是否可以取消订阅此匿名方法?如果是这样,怎么做?
Action myDelegate = delegate(){Console.WriteLine("I did it!");}; MyEvent += myDelegate; // .... later MyEvent -= myDelegate;
只需保留对代表的引用即可。