谁知道C#中有一个叫友元程序集的东西,意思是程序集A如果想让程序集B访问它的成员,就可以通过assembly: InternalsVisibleTo("assemblyB"),这样程序集B就可访问到程序集B的internal修饰的成员,这里的程序集是一个dll库文件或exe可执行文件,同一程序中的cs文件不可以吗,并且它在实际应用很少吧
3条回答 默认 最新
阿里嘎多学长 2025-04-09 14:58关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
C# 中的友元程序集
C# 中的友元程序集(InternalsVisibleTo)是指在程序集 A 中使用
InternalsVisibleTo属性来指定程序集 B 可以访问程序集 A 的内部成员。使用
InternalsVisibleTo属性可以让程序集 B 访问程序集 A 的内部类、方法、字段等成员,但是这并不意味着程序集 B 可以修改这些成员。例如:
// 程序集 A [assembly: InternalsVisibleTo("程序集 B")] public class MyClass { internal void MyMethod() { } }在上面的代码中,程序集 A 使用
InternalsVisibleTo属性指定程序集 B 可以访问内部类MyClass的成员。在程序集 B 中,可以使用以下代码来访问程序集 A 的内部成员:
// 程序集 B using Program集A; MyClass myClass = new MyClass(); myClass.MyMethod();需要注意的是,使用
InternalsVisibleTo属性时,程序集 B 需要在同一个文件夹或子文件夹中,否则将无法访问程序集 A 的内部成员。此外,使用
InternalsVisibleTo属性时,需要在编译时将程序集 A 和程序集 B 都编译成 DLL 文件,然后在程序集 B 中使用InternalsVisibleTo属性指定程序集 A 的名称。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报