【发布时间】:2013-05-28 17:07:41
【问题描述】:
我在我的一个类中有一个用internal static 声明的方法,我想将此方法公开给特定程序集中的另一个类,有人可以帮我吗?
【问题讨论】:
标签: c# assemblies internal
我在我的一个类中有一个用internal static 声明的方法,我想将此方法公开给特定程序集中的另一个类,有人可以帮我吗?
【问题讨论】:
标签: c# assemblies internal
在包含内部方法的程序集中的 AssemblyInfo.cs 文件中,使用以下行:
[assembly: InternalsVisibleTo("OtherAssemblyName")]
如果您收到以下错误...
朋友程序集引用“OtherAssemblyName”无效。强名称签名的程序集必须在其 InternalsVisibleTo 声明中指定一个公钥。
然后在这里查看修改:How to declare a friend assembly?
但是,这将使您的其他装配体可以看到原始装配体中的所有内部结构。你不能只将一个内部暴露给朋友程序集。
【讨论】:
C# 没有 friend 类型,它只有 friend 程序集。
这意味着您不能使特定内部类型对另一个程序集中的特定类型可见。
您所能做的就是通过InternalsVisibleTo 属性。
【讨论】: