欢迎光临小说阅读网-爱阅读

当前位置: 短篇原创文学>灵异

深入剖析C#继承机制

2019-10-17 00:07:07 作者: 0人读过 | 我要投稿

3、继承中对使用可访问性级别的限制

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

class BaseClass {...}

public class MyClass: BaseClass {...} // Error  下表汇总了对使用声明的可访问性级别的限制。

上下文备注类类类型的直接基类必须至少与类类型本身具有同样的可访问性。接口接口类型的显式基接口必须至少与接口类型本身具有同样的可访问性。委托委托类型的返回类型和参数类型必须至少与委托类型本身具有同样的可访问性。常数常数的类型必须至少与常数本身具有同样的可访问性。字段字段的类型必须与至少字段本身具有同样的可访问性。方法方法的返回类型和参数类型必须至少与方法本身具有同样的可访问性。属性属性的类型必须至少与属性本身具有同样的可访问性。事件事件的类型必须至少与事件本身具有同样的可访问性。索引器索引器的类型和参数类型必须至少与索引器本身具有同样的可访问性。运算符运算符的返回类型和参数类型必须至少与运算符本身具有同样的可访问性。构造函数构造函数的参数类型必须至少与构造函数本身具有同样的可访问性。  示例:以下示例包含不同类型的错误声明。每个声明后的注释指示了预期的编译器错误。

using System ;

delegate int MyDelegate( ) ;

class B

{ // 定义一个私有的函数:

static int MyPrivateMethod()

{ return 0 ; }

}

public class A

{ // 字段定义:

public B myField = new B();// 错误: 类型B与A字段A.myField级别不同

// 构造函数:

public readonly B myConst = new B(); //错误: 类型B是仅读的

//方法:

public B MyMethod()

{

return new B();

}

//属性:

public B MyProp

{

set { }

}

public static B operator + (A m1, B m2)

{

return new B();

}

static void Main()

{

Console.Write("Compiled successfully");

}

}

查看本文来源

合肥治疗月经不调方法
朔州治疗盆腔炎医院
许昌治疗白癜风医院
秦皇岛治疗白带异常方法
宝鸡治疗前列腺炎医院

本文相关的其他文章