internal 关键字是类型和类型的成员
访问修饰符。
只有在同一程序集的文件中,内部类型或成员才是可访问的,如下例所示:
public class BaseClass
{
// Only accessible within the same assembly
internal static int x = 0;
}
从当前程序集或从包含类派生的类型,可以访问具有访问修饰符 protected internal 的类型或成员。
有关 internal 与其他访问修饰符的比较,请参见可访问性级别(C# 参考)和访问修饰符(C# 编程指南)。
有关程序集的更多信息,请参见程序集和全局程序集缓存(C# 和 Visual Basic)。
内部访问通常用于基于组件的开发,因为它使一组组件能够以私有方式进行合作,而不必向应用程序代码的其余部分公开。例如,用于生成图形用户界面的框架可以提供 Control 和 Form 类,这两个类通过使用具有内部访问权限的成员进行合作。由于这些成员是内部的,它们不向正在使用框架的代码公开。
从定义具有内部访问能力的类型或成员的程序集外部引用该类型或成员是错误的。