c# 友元程序集
2015-08-09 17:53
246 查看
在团队开发中,如果一个程序集中要调用另外一个程序集,但是要被调用的那个程序集又不想用public来公开自己的类,
那么怎么办,就是用最后一种internal来用来做类的可见性了。
下面来看一个简单例子:
1. 在一个解决方案中创建两个类库项目A和B,分别在两个类库项目中创建类ClassA和ClassB
2. 将项目B中ClassB的访问级别设置为internal
3. 在项目A中添加对项目B的引用
4. 此时在ClassA中是访问不到ClassB的,如果想让ClassA可以访问ClassB,必须将项目A的程序集添加为项目B程序集的友元程序集。添加友元程序集我们要使用InternalIsVisibleTo特性,使用该特性需要添加命名空间
using System.Runtime.CompilerServices。
5. 在ClassB类中使用InternalIsVisibleTo特性将程序集tA添加为友元程序集。
6. InternalIsVisibleTo特性也可以添加到AssemblyInfo.cs中。
7. 现在在项目A的ClassA中就可以访问B项目的ClassB了。
那么怎么办,就是用最后一种internal来用来做类的可见性了。
下面来看一个简单例子:
1. 在一个解决方案中创建两个类库项目A和B,分别在两个类库项目中创建类ClassA和ClassB
2. 将项目B中ClassB的访问级别设置为internal
3. 在项目A中添加对项目B的引用
4. 此时在ClassA中是访问不到ClassB的,如果想让ClassA可以访问ClassB,必须将项目A的程序集添加为项目B程序集的友元程序集。添加友元程序集我们要使用InternalIsVisibleTo特性,使用该特性需要添加命名空间
using System.Runtime.CompilerServices。
5. 在ClassB类中使用InternalIsVisibleTo特性将程序集tA添加为友元程序集。
6. InternalIsVisibleTo特性也可以添加到AssemblyInfo.cs中。
7. 现在在项目A的ClassA中就可以访问B项目的ClassB了。
相关文章推荐
- 17.2015.08.04第十八节课 C#2 (数值类型及调用、引用类型及调用、装拆箱、常量、变量、数据类型转换、算术运算符、赋值运算符、关系运算符、逻辑运算符、字符串的常用方法)
- hdu 5364 (bc#50 1001) Distribution money
- C#匿名类型(Anonymous Type)学习日记
- 国内大型的内部 C# 编程规范
- C#调用外部EXE-LibSVM为例
- 使用C# 和Consul进行分布式系统协调
- C#.net中如何操作XML
- 用C#生成KML路径文件(下篇)
- 使用C#详解常用排序算法(二):插入排序(Insert Sort)
- 使用C#详解常用排序算法(一):概述
- C#中得到两个数百分比
- 匹夫细说C#:庖丁解牛聊委托,那些编译器藏的和U3D给的
- C#中的集合有几种?
- Visual C#2010学习笔记三之return返回值的使用
- C#高级编程八十天----异常类
- 【常用】C#万年历代码
- C# 入门篇之listview用法
- C#-WinForm登录窗体实现记住密码的功能(仿QQ实现)
- C# 结构体
- c#中的事件