在C# 的类型和成员的声明中,使用了大量的修饰符,其中有许多是C# 特有的。下面将它们分类汇总,并进行一些简单的比较和分析。其中用粗体表示的修饰符是C++中没有的。
1)类型可见性修饰符与成员访问修饰符——参见下表。
C# 的类型可见性与成员访问修饰符
修饰符 |
应用对象 |
说明 |
public |
所有的类型和成员 |
任何代码都可以访问。 |
protected |
类型和内嵌类型的成员 |
只有其派生的类型能访问。 |
internal |
类型和内嵌类型的成员 |
只能在包含它的程序集中访问。 |
private |
所有的类型和成员 |
只能在它所属的类中访问。 |
protected internal |
类型和内嵌类型的成员 |
只能在包含它的程序集和其派生的类型中访问。 |
2)其他修饰符——参见下表。
修饰符 |
应用对象 |
说明 |
new |
函数成员 |
隐藏继承的同签名的函数成员。 |
static |
所有成员 |
不在类型实例上执行。 |
virtual |
仅类的函数成员 |
可由派生类重写。 |
abstract |
类和函数成员 |
只定义了签名没有实现代码。 |
override |
函数成员 |
重写继承的虚拟或抽象函数成员。 |
sealed |
类和函数成员 |
类不能被继承和方法不能被重写。 |
extern |
仅静态的DllImport方法 |
成员在外部用另一种语言实现。 |
新闻热点
疑难解答