当前位置: 首页 > news >正文

友元的使用

using System.Runtime.CompilerServices;// 内部友元
[assembly: InternalsVisibleTo("YooAsset.Editor")]
[assembly: InternalsVisibleTo("YooAsset.Test.Editor")]// 外部友元
[assembly: InternalsVisibleTo("YooAsset.MiniGame")]
[assembly: InternalsVisibleTo("YooAsset.RuntimeExtension")]
[assembly: InternalsVisibleTo("YooAsset.EditorExtension")]
[assembly: InternalsVisibleTo("Assembly-CSharp-Editor")]
[assembly: InternalsVisibleTo("Assembly-CSharp")]
[assembly: InternalsVisibleTo("hotUpdate")]

  

解释internal修饰符为什么使在友元程序集中有访问权限

新建类库ClassLibA,ClassLibB

ClassLibB中新建类ClassB

ClassLibA中新建类ClassA

internal class ClassA
{}

ClassLibB中添加对ClassLibA的引用

这时ClassB中是访问不到ClassA的,如果想要访问,必须把ClassB设置成ClassA的友元程序集

添加友元程序集需要使用InternalIsVisibleTo特性,命名空间为

using System.Runtime.CompilerServices;[assembly:InternalsVisibleTo("ClassB")]
internal Class ClassA
{
}

也可以在AssemblyInfo.cs中直接添加

 

https://www.cnblogs.com/KSalomo/p/6481292.html

http://www.sczhlp.com/news/13931/

相关文章:

  • 【CANoe】logging日志文件的保存/回放
  • 【游戏设计随笔12】任务设计:一些方法论和学习总结
  • 传热学
  • HS_fu3的语录题解
  • OSCP+ | 第一次考试便顺利通过!!
  • 代码片段
  • 电视盒子 E900V22C Armbian Linux 挂载 TF 卡并迁移 Docker 数据
  • 【数论】二进制拆分问题
  • 人工智能产业链总结
  • Task.Run +Task.WhenAll 与 Paraller
  • 短线心得
  • 深度解析分散化与再平衡策略的实战奥秘-python基金分析
  • Langchain4j-2-ChatMemory
  • Langchain4j-1-流式输出
  • 将安卓手机中的应用提取出APK安装包的工具
  • Langchain4j-7-MCP
  • Langchain4j-6-RAG
  • 2025.8.16学习日记
  • vue3学习d1
  • HZ CSP-S模拟13
  • 在C程序中实现类似Redis的SCAN机制的LevelDB大规模key分批扫描
  • 手机信息查看APP——Device Info HW
  • 在Python程序中实现LevelDB的海量key的分批次扫描
  • 腾讯云机器翻译接口调用
  • 自定义菜单项
  • java异步判断线程池所有任务是否执行完
  • soket5隧道搭建
  • 【ARM Trace32(劳特巴赫) 使用介绍 2 -- Trace32 cmm 脚本基本语法及常用命令】
  • 这是一个随笔
  • freertos任务切换代码分析