c# - 访问派生类中事件的选项有限?

标签 c# events derived-class

我正在重构一个类,并将部分移动到基类中。

我有一些类似的事件

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/

相关文章:

c# - 数组中抽象类的派生类

c++ - 这是 VC++ 2010 中的错误吗?

c# - Raven DB - 让它自动生成自己的 key

c# - MVVMCross,FieldBinding 插件,iOS,代码绑定(bind)不起作用

c# - 区分本质上是Int32的多种类型

MYSQL 预定事件

c++ - 带有模板基类的静态成员定义

c# - 为什么 C# 在不知道如何排序时让我编译排序代码

javascript - 在KineticJS中, "click"事件和 "contentClick"事件有什么区别?

c# - 如何制作Unity/C#自定义事件函数