声明类型时,最重要的是查看该类型是否必须至少与其他成员或类型具有同样的可访问性。例如,直接基类必须至少与派生类具有同样的可访问性。以下声明将导致编译器错误,因为基类 BaseClass 的可访问性小于 MyClass

 CopyCode image复制代码
class BaseClass {...}
public class MyClass: BaseClass {...} // Error

下表汇总了对使用声明的可访问性级别的限制。

上下文 备注

类类型的直接基类必须至少与类类型本身具有同样的可访问性。

接口

接口类型的显式基接口必须至少与接口类型本身具有同样的可访问性。

委托

委托类型的返回类型和参数类型必须至少与委托类型本身具有同样的可访问性。

常数

常数的类型必须至少与常数本身具有同样的可访问性。

字段

字段的类型必须至少与字段本身具有同样的可访问性。

方法

方法的返回类型和参数类型必须至少与方法本身具有同样的可访问性。

属性

属性的类型必须至少与属性本身具有同样的可访问性。

事件

事件的类型必须至少与事件本身具有同样的可访问性。

索引器

索引器的类型和参数类型必须至少与索引器本身具有同样的可访问性。

运算符

运算符的返回类型和参数类型必须至少与运算符本身具有同样的可访问性。

构造函数

构造函数的参数类型必须至少与构造函数本身具有同样的可访问性。

Expand 图像示例

Expand 图像C# 语言规范

Expand image请参见