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

发布于 2024-08-29 11:04:41 字数 351 浏览 10 评论 0原文

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

我有一些类似于

public event EventHandler GridBinding;

现在在基类中的事件,但我发现我现在无法检查该事件在我的派生类中是否为空。这样做会给我带来错误:

事件'xyz.GridBinding'只能 出现在 += 或的左侧 -=(除非在类型“xyz._MyBaseClass”中使用)。

这是正确的吗?我是否遗漏了任何内容,或者有什么方法可以解决这个问题,或者编写访问器是执行此操作的唯一方法吗? 我正在使用 c#/.net 4.0

Im refactoring a class, and moving sections into a base class.

I have a few events similar to

public event EventHandler GridBinding;

Which are now in the base class, but i am finding i cannot now check to see if the event is null in my derived class. Doing so gives me the error:

The event 'xyz.GridBinding' can only
appear on the left hand side of += or
-= (except when used from within the type 'xyz._MyBaseClass').

Is this correct, am i missing anything, or is there any way to get around this or is writing an accessor the only way to do this?
I am using c#/.net 4.0

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

身边 2024-09-05 11:04:41

不,你无法回避这个问题。

正确的方法是在包含事件的类中声明受保护的方法,以便您可以根据需要从任何派生类激发它们。

No, you cannot get around this.

The proper way is to declare protected methods in the class containing the events, so you can fire them from any derived class, if needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文