小编典典

在 C# 中取消订阅匿名方法

all

是否可以从事件中取消订阅匿名方法?

如果我订阅这样的事件:

void MyMethod()
{
    Console.WriteLine("I did it!");
}

MyEvent += MyMethod;

我可以像这样取消订阅:

MyEvent -= MyMethod;

但是,如果我使用匿名方法订阅:

MyEvent += delegate(){Console.WriteLine("I did it!");};

是否可以取消订阅此匿名方法?如果是这样,怎么做?


阅读 61

收藏
2022-05-29

共1个答案

小编典典

Action myDelegate = delegate(){Console.WriteLine("I did it!");};

MyEvent += myDelegate;


// .... later

MyEvent -= myDelegate;

只需保留对代表的引用即可。

2022-05-29