如何清除C#中的事件订阅?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (63)

选择以下C#类:

c1 {
 event EventHandler someEvent;
}

提问于
用户回答回答于

从类内,您可以将(隐藏)变量设置为null。空引用是有效地表示空调用列表的规范方式。

从课外,你不能这样做 - 事件基本上暴露“订阅”和“取消订阅”,就是这样。

值得注意的是类场事件实际上在做什么 - 它们同时创建一个变量一个事件。在课堂中,你最终引用变量。你从外面引用这个事件。

用户回答回答于

向C1添加一个方法

class c1
{
    event EventHandler someEvent;
    ResetSubscriptions() {someEvent = null;}
}

扫码关注云+社区