- 热门文章:
- · 深入剖析C#继承机制6
- · 深入剖析C#继承机制4
- · 深入剖析C#继承机制5
- · 深入剖析C#继承机制3
- · 深入剖析C#继承机制2
- · 深入剖析C#继承机制1
- · 怎样通过Visual C#.net创建一个DTS任务
- · 在C#桌面应用使用多语言
- · C#中对注册表的操作
- · C#时间函数扩展
- · 用C#读写ini文件
- · 用C#下的Raw Socket编程实现网络封包监视
上一篇:C#中结构或类的嵌套 的方法 >>
深入剖析C#继承机制7
声明类型时,最重要的是查看该类型是否必须"至少"与其他成员或类型"具有同样的可访问性"。例如,直接基类必须至少与派生类具有同样的可访问性。以下声明将导致编译器错误,因为基类 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");
}
}
下一篇:深入剖析C#继承机制6 >>
相关文章:
- · 使用C#编写一个计时器
- · 【C#】输入汉字字符串索引拼音的首字母
- · C#数据访问类
- · 关于C#中,继承类重写与隐藏基类方法的区别!
- · 用正则表达式过滤脚本的一些研究(asp.net + C#)
- · C#在状态栏中,自绘进度条,
- · VisualC#中MDI窗体初步
- · use MSAgent in C#
- · 使用C#在进度条中显示复制文件的进度
- · C#中string与byte[]的转换帮助类
- · SQL Server 调用C#。net写的Dll ,(分享我的HelloWorld测验)
- · c#中实现文件拖放打开的方法
- · C#中Base64之编码,解码方法
- · 使用.INI文件为输入界面创建“动态帮助”
- · C#自定义控件制作篇
- · 用C#下的Raw Socket编程实现网络封包监视
- · C#中的事件
- · C#中的类型转换
- · C#中的接口
- · c#中结构与类的区别
- · 数据库操作类实现(C#,SqlClient)
- · 设计模式-简单工厂模式(SimpleFactory-C#)
- · 【C#】Decimal的类型判断!
- · 用c#写的贪吃蛇游戏,简简单单
- · 天天学C#-委托
- · 天天学C#-委托
- · C#中的泛型 (From dotNet SDK 2.0 Beta1)
- · 在C#编写代码发送邮件
- · 使用VB求解华容道问题
- · C#使用CDO发送邮件
- · 读《C#入门经典》
- · 【C#】整数类型的判断!
- · c#下重写BUTTON控件
- · 怎样在C#中调用Delphi6写的DLL
- · C#向Sql Server中插入记录时单引号的处理
- · 使用 Visual C# .NET 检查 Windows 版本
- · C#:获得文件版本信息及只读文件的删除
- · C#:文件的按行读/写及文件目录对话框的使用
