C# 友元程序集

在团队开发中,如果一个程序集中要调用另外一个程序集,但是要被调用的那个程序集又不想用public来公开自己的类,

那么怎么办,就是用最后一种internal来用来做类的可见性了。

 下面来看一个简单例子:

 1. 在一个解决方案中创建两个类库项目A和B,分别在两个类库项目中创建类ClassA和ClassB

在这里插入图片描述

  1. 将项目B中ClassB的访问级别设置为internal

  2. 在项目A中添加对项目B的引用

  3. 此时在ClassA中是访问不到ClassB的,如果想让ClassA可以访问ClassB,必须将项目A的程序集添加为项目B程序集的友元程序集。添加友元程序集我们要使用InternalIsVisibleTo特性,使用该特性需要添加命名空间

       using System.Runtime.CompilerServices。
    
    1. 在ClassB类中使用InternalIsVisibleTo特性将程序集tA添加为友元程序集。
      在这里插入图片描述
  4. InternalIsVisibleTo特性也可以添加到AssemblyInfo.cs中。

在这里插入图片描述

  1. 现在在项目A的ClassA中就可以访问B项目的ClassB了。

转载:https://www.cnblogs.com/smdm/p/4715538.html

猜你喜欢

转载自blog.csdn.net/weixin_43632687/article/details/90201509