1. internal关键字
对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法。 比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件的程序就是一个程序集。 如果你记录日志的程序集是这么定义的 namespace LogerHelper { internal class aa { public void bb() { return ""; } } public class Write { public void WriteIn(string content) { class x = new aa(); x.bb(); } } } 当另一个项目引用了此DLL 它可以这么访问 LogerHelper.Write x = new LogerHelper.Write(); x.WriteIn(""); 但不可以这么访问 LogerHelper.aa x = new LogerHelper.aa(); x.bb(); 这就叫,只能在程序集中访问
2. sealed 修饰符
sealed 修饰符表示密封 用于类时,表示该类不能再被继承
在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止扩充类重写此方法。
密封方法:
C#还提出了密封方法(sealedmethod) 的概念,以防止在方法所在类的派生类中对该方法的重载。对方法可以使用sealed 修饰符,这时我们称该方法是一个密封方法。
不是类的每个成员方法都可以作为密封方法密封方法,要作为密封方法必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed 修饰符总是和override 修饰符同时使用。请看下面的例子代码:
类B 对基类A 中的两个虚方法均进行了重载,其中F 方法使用了sealed 修饰符,成为一个密封方法。G 方法不是密封方法,所以在B 的派生类C 中,可以重载方法G,但不能重载方法F。
3. new 修饰符
new 修饰符与 new 操作符是两个概念 new 修饰符用于声明类或类的成员,表示隐藏了基类中同名的成员。