internal(C# 参考)
来源:互联网 发布:淘宝客服部门奖罚制度 编辑:程序博客网 时间:2024/06/05 18:58
internal(C# 参考)
Visual Studio 2015
其他版本
- Visual Studio 2013
- Visual Studio 2012
- Visual Studio 2010
- Visual Studio 2005
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 类,这两个类通过使用具有内部访问权限的成员进行合作。由于这些成员是内部的,它们不向正在使用框架的代码公开。
从定义具有内部访问能力的类型或成员的程序集外部引用该类型或成员是错误的。
此示例包含两个文件:Assembly1.cs 和Assembly1_a.cs。第一个文件包含内部基类BaseClass。在第二个文件中,实例化BaseClass 的尝试将产生错误。
复制
// Assembly1.cs// Compile with: /target:libraryinternal class BaseClass { public static int intM = 0;}
复制
// Assembly1_a.cs// Compile with: /reference:Assembly1.dllclass TestAccess { static void Main() { BaseClass myBase = new BaseClass(); // CS0122 }}
在此示例中,使用与示例 1 中所用的文件相同的文件,并将 BaseClass 的可访问性级别更改为 public。还将成员IntM 的可访问性级别更改为internal。在此例中,您可以实例化类,但不能访问内部成员。
复制
// Assembly2.cs// Compile with: /target:librarypublic class BaseClass { internal static int intM = 0;}
复制
// Assembly2_a.cs// Compile with: /reference:Assembly1.dllpublic class TestAccess { static void Main() { BaseClass myBase = new BaseClass(); // Ok. BaseClass.intM = 444; // CS0117 }}
C# 语言规范
有关详细信息,请参阅 C# 语言规范。该语言规范是 C# 语法和用法的权威资料。
0 0
- internal(C# 参考)
- internal(C# 参考)
- internal(C# 参考)
- internal(C# 参考)
- internal(C# 参考)
- internal(C# 参考)
- c# internal
- C# internal
- C# Internal
- switch(C# 参考)
- base(C# 参考)
- abstract(C# 参考)
- 接口(C# 参考)
- partial(C# 参考)
- ref(C# 参考)
- sealed(C# 参考)
- virtual(C# 参考)
- const(C# 参考)
- Java二维数组
- /data/data/和手机拍照
- MachineLearning in Action_KNN
- kafak、flume、elasticsearch
- 使用timer方法生成一个定时器,每隔一段时间输出一个随机数
- internal(C# 参考)
- OC - 3D Touch(2)
- idea-multimarkdown 插件破解小记
- bzoj 1087: [SCOI2005]互不侵犯King 状压dp
- [Struts2教程]利用Filter来做控制器
- mysql 性能优化方案
- RSync实现文件备份同步
- ubuntu下opensips安装配置
- ListView设置EmptyView