我正在重构一个类,并将部分移动到基类中。
我有一些类似的事件
public event EventHandler GridBinding;
现在在基类中,但我发现我现在无法检查派生类中的事件是否为空。这样做会给我错误:
The event 'xyz.GridBinding' can only appear on the left hand side of += or -= (except when used from within the type 'xyz._MyBaseClass').
这是正确的吗,我是否遗漏了什么,或者有什么办法可以解决这个问题,或者编写访问器是唯一的方法吗? 我正在使用 c#/.net 4.0
最佳答案
不,你不能绕过这个。
正确的方法是在包含事件的类中声明 protected 方法,这样您就可以在需要时从任何派生类中触发它们。
关于c# - 访问派生类中事件的选项有限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2689856/