17.7.4 Virtual, sealed, override, and abstrac

A virtual event declaration specifies that the accessors of that event are
virtual. The virtual modifier applies
to both accessors of an event.
An abstract event declaration specifies that the accessors of the event are
virtual, but does not provide an
actual implementation of the accessors. Instead, non-abstract derived
classes are required to provide their own
implementation for the accessors by overriding the event. Because an
accessor for an abstract event declaration
provides no actual implementation, its accessor-body simply consists of a
semicolon.
Chapter 17 Classes
251
An event declaration that includes both the abstract and override modifiers
specifies that the event is
abstract and overrides a base event. The accessors of such an event are
also abstract.
Abstract event declarations are only permitted in abstract classes (§17.1.1.
1).
The accessors of an inherited virtual event can be overridden in a derived
class by including an event declaration
that specifies an override modifier. This is known as an overriding event
declaration. An overriding event
declaration does not declare a new event. Instead, it simply specializes
the implementations of the accessors of an
existing virtual event.
An overriding event declaration must specify the exact same accessibility
modifiers, type, and name as the
overridden event.
An overriding event declaration may include the sealed modifier. Use of
this modifier prevents a derived class
from further overriding the event. The accessors of a sealed event are also
sealed.
It is a compile-time error for an overriding event declaration to include a
new modifier.
Except for differences in declaration and invocation syntax, virtual,
sealed, override, and abstract accessors
behave exactly like virtual, sealed, override and abstract methods.
Specifically, the rules described in §17.5.3,
§17.5.4, §17.5.5, and §17.5.6 apply as if accessors were methods of a
corresponding form. Each accessor
corresponds to a method with a single value parameter of the event type, a
void return type, and the same
modifiers as the containing event.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值