我在我的一个类中有一个用internal static
声明的方法,我想将这个方法暴露给特定程序集中的另一个类,有人可以帮我这个吗?
答案 0 :(得分:2)
在包含内部方法的程序集的AssemblyInfo.cs文件中,使用以下行:
[assembly: InternalsVisibleTo("OtherAssemblyName")]
如果您收到以下错误...
朋友程序集引用'OtherAssemblyName'无效。强名称签名程序集必须在其InternalsVisibleTo声明中指定公钥。
然后在此处查看修改:How to declare a friend assembly?
然而,这将使您的其他装配体可以看到原始装配体中的所有内部构件。你不能只将一个内部暴露给朋友集会。
答案 1 :(得分:0)
C#没有好友类型,它只有好友程序集。
这意味着您无法使特定内部类型对另一个程序集中的特定类型可见。
您所能做的就是让所有内部类型 - 和内部类成员 - 通过其他程序集的所有类可见InternalsVisibleTo
属性。