C# 可访问性约束

C# 语言中的有些构造要求某个类型至少与某个成员或其他类型具有同样的可访问性 (at least as accessible as)。如果 T 的可访问域是 M 可访问域的超集,我们就说类型 T 至少与成员或类型 M 具有同样的可访问性。换言之,如果 T 在可访问 M 的所有上下文中都是可访问的,则 T 至少与 M 具有同样的可访问性。

存在下列可访问性约束:

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

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

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

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

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

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

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

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

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

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

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

在下面的示例中

class A {...}

public class B: A {...}

B 类导致编译时错误,因为 A 并不具有至少与 B 相同的可访问性。


同样,在示例中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值