引用 ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxintro/html/949d2d13-6359-4ed8-b651-e6d8a3f5199f.htm
成员特征
通用类型系统允许类型成员具有多种特征,但并不要求语言能支持所有这些特征。下表说明了这些成员特征。
特征 | 可应用到 | 说明 |
---|---|---|
abstract |
方法、属性和事件 |
类型不提供方法的实现。继承抽象方法的类型和用抽象方法实现接口的类型必须提供方法的实现。只有当派生的类型本身是抽象类型的时候,情况例外。所有的抽象方法都是虚的。 |
private、 family、 assembly、 family 和 assembly、 family 或 assembly、或 public |
全部 |
定义成员的可访问性:
|
final |
方法、属性和事件 |
虚方法不能在派生类型中被重写。 |
initialize-only |
字段 |
该值只能被初始化,不能在初始化之后写入。 |
instance |
字段、方法、属性和事件 |
如果成员未标记为 static(C# 和 C++)、Shared (Visual Basic)、virtual(C# 和 C++)或 Overridable (Visual Basic),那么它是一个实例成员(没有实例关键字)。内存中这些成员的副本数将会像使用它们的对象数一样多。 |
literal |
字段 |
分配给该字段的值是一个内置值类型的固定值(在编译时已知)。文本字段有时指的是常数。 |
newslot 或 override |
全部 |
定义成员如何与具有相同签名的继承成员进行交互:
默认为 newslot。 |
static |
字段、方法、属性和事件 |
成员属于定义它的类型,而不属于该类型的特定实例;即使不创建类型的实例,成员也会存在,并且它由该类型的所有实例共享。 |
virtual |
方法、属性和事件 |
此方法可以由派生类型实现,并且既可静态调用,也可动态调用。如果使用动态调用,在运行时执行调用的实例类型(而不是编译时已知的类型)将确定调用方法的哪一种实现。若要静态调用虚方法,可能需要将变量强制转换为使用方法的所需版本的类型。 |