【发布时间】:2010-11-10 19:14:08
【问题描述】:
虚拟活动如何运作?你会如何覆盖它?那将如何运作?在什么情况下你会这样做?
它是否可以替代受保护的 OnEvent 方法?那么继承类可以直接覆盖事件并直接引发它吗?或者那会是错误的还是不起作用?
MSDN 是这么说的:
可以使用 virtual 关键字将事件标记为虚拟事件。这使派生类能够通过使用 override 关键字来覆盖事件行为。覆盖虚拟事件的事件也可以被密封,这指定对于派生类它不再是虚拟的。
但这并没有让我变得更聪明。密封的东西很明显。
注意:我已经看到了How virtual events work in C# ? 的问题,但这并不是关于虚拟事件的工作原理。而是那个人如何从使用它们中获得结果。试图从他的示例和答案中弄清楚哪些虚拟事件是什么,但无法真正理解它。
【问题讨论】:
-
文章“C# 中的虚拟事件:出了点问题” - viva64.com/en/b/0453
标签: c# events inheritance virtual