C# internal 关键字
来源:互联网 发布:e语言dnf辅助源码 编辑:程序博客网 时间:2024/05/17 23:06
转字MSDN:
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 }}
0 0
- C# internal 关键字
- C#关键字internal
- C#中internal关键字
- C#中的internal关键字学习
- internal c# 关键字的理解
- C#关键字之internal详解
- C#中internal关键字的作用
- C# 关键字 public protect private internal
- C#中Internal关键字的总结
- C#中internal关键字的作用
- internal关键字
- internal关键字
- c# internal
- C# internal
- C# Internal
- Internal 关键字使用(1)
- C的internal关键字
- Sealed,Internal关键字
- jQuery中实现each()
- Mac 上配置Python开发环境 Pydev + Eclipse
- 第一次博文
- 1232 -- 找模式串
- 蓝桥杯:翻硬币
- C# internal 关键字
- LeetCode58----Length of Last Word
- 1.6.2 简单自绘控件——无边框对话框最小化按钮
- 第2周项目0 - 宣告“主权”
- pom详解
- 进程的disk sleep状态与僵尸进程
- 项目1 - C/C++语言中函数参数传递的三种方式
- 1233 -- 统一资源定位符中的远程服务器地址检测
- 第二周实践项目(1)~C/C++语言中函数参数传递的三种方式