访问由FriendAssembly定义为“internal”的方法

时间:2013-05-28 09:00:13

标签: c# assemblies internal


我在我的一个类中有一个用internal static声明的方法,我想将这个方法暴露给特定程序集中的另一个类,有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:2)

在包含内部方法的程序集的AssemblyInfo.cs文件中,使用以下行:

[assembly: InternalsVisibleTo("OtherAssemblyName")]

如果您收到以下错误...

  

朋友程序集引用'OtherAssemblyName'无效。强名称签名程序集必须在其InternalsVisibleTo声明中指定公钥。

然后在此处查看修改:How to declare a friend assembly?

然而,这将使您的其他装配体可以看到原始装配体中的所有内部构件。你不能只将一个内部暴露给朋友集会。

答案 1 :(得分:0)

C#没有好友类型,它只有好友程序集。
这意味着您无法使特定内部类型对另一个程序集中的特定类型可见。

您所能做的就是让所有内部类型 - 内部类成员 - 通过其他程序集的所有类可见InternalsVisibleTo属性。