开通VIP,畅享免费电子书等14项超值服
首页
好书
留言交流
下载APP
联系客服
2014.01.26
6.1 类型的各种成员
在一个类型中,可以定义0个或多个以下种类的成员:
6.2 类型的可见性
在文件范围中定义类型时,可以将类型的可见性指定为public或internal。
using Systemlusing System.Runtime.CompilerServices [assembly:InternalsVisibleTo("Winterllect,publickKey=12345678....asdf")].....
定义类型的成员(包括嵌套类型)时,可指定成员的可访问性(accessibility)。
6.4 静态类
在C#中,要用static关键字定义不可实例化的类。这个关键字只能应用于类,不能引用于结构 (值类型)。这是因为CLR总是允许值类型实例化。
6.5 分部类、结构和接口
partial这个关键字告诉C#编译器,一个类、结构或者接口的定义源代码可能分散到一个或者多个源代码文件中。
internal class Employee { //非虚实例方法 public int32 GetYearsEmployed() { ... } //虚方法 public virtual String GenProgressReport() { ... } //静态方法 public static Employee Lookup(String name) { ... } }
编译器编译上述代码,会生成的程序集的方法定义表中写入三个记录项,每个记录项都用一组标识(flag)来指明该方法是实例犯法、虚方法还是静态方法。
public class Set { private Int32 m_length = 0; //这个重载的简便方法是非虚的 public Int32 Find(Object value) { return Find(value,0,m_length); } //这个重载的简便方法是非虚的 public Int32 Find(Object value, Int32 startIndex) { return Find(value, startIndexx, m_length - startIndex); } //功能最丰富的方法是虚方法,可以被重写 public virtual Int32 Find(Object value, Int32 startIndex, Int32 endIndex){ //可被重写的实现放在这里.... } //其他方法}
合理使用类型的可见性和成员的可访问性
微信登录中...请勿关闭此页面