【发布时间】:2014-10-29 22:51:25
【问题描述】:
例如,如果这些代码:
Button button1 = new Button();
// ...
button1.Click -= button1_Clicked;
在之前执行:
button1.Click += button1_Clicked;
我没有发现错误或异常,但我想知道这里是否有任何缺点。
如果是安全的,为什么允许取消订阅从未订阅过的事件?
【问题讨论】:
-
你为什么希望它不是?
-
在我们先订阅之前取消订阅对我来说真的没有意义。
-
很公平,但请考虑
List<T>。如果你调用list.Remove(new T()),它不会抛出异常。大多数 C# 集合类型最多会得到false的返回值。
标签: c# .net events subscribe unsubscribe