internal 关键字是类型和类型成员的访问修饰符。只有在同一程序集的文件中,内部类型或成员才是可访问的,如下例所示:
![]() | |
---|---|
public class BaseClass { // Only accessible within the same assembly internal static int x = 0; } |
有关 internal 与其他访问修饰符的比较,请参见可访问性级别和访问修饰符(C# 编程指南)。
有关程序集的更多信息,请参见程序集和全局程序集缓存(C# 编程指南):
内部访问通常用于基于组件的开发,因为它使一组组件能够以私有方式进行合作,而不必向应用程序代码的其余部分公开。例如,用于生成图形用户界面的框架可以提供“控件”类和“窗体”类,这些类通过使用具有内部访问能力的成员进行合作。由于这些成员是内部的,它们不向正在使用框架的代码公开。
从定义具有内部访问能力的类型或成员的程序集外部引用该类型或成员是错误的。
![]() |
---|
尽管不能用 C# 重写 internalvirtual 方法,但可以用某些语言(如使用 Ilasm.exe 的文本 Microsoft 中间语言 (MSIL))重写它。 |