【问题标题】:Accessing a method defined as `internal` by a FriendAssembly [duplicate]访问由 FriendAssembly 定义为“内部”的方法 [重复]
【发布时间】:2013-05-28 17:07:41
【问题描述】:


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

【问题讨论】:

    标签: c# assemblies internal


    【解决方案1】:

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

    [assembly: InternalsVisibleTo("OtherAssemblyName")]
    

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

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

    然后在这里查看修改:How to declare a friend assembly?

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

    【讨论】:

    • 感谢它完美运行
    【解决方案2】:

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

    您所能做的就是通过InternalsVisibleTo 属性。

    【讨论】:

    • 鼓励投反对票的人解释投反对票,以便我解决问题。
    猜你喜欢
    • 2020-10-10
    • 2019-03-30
    • 2021-01-10
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2020-11-29
    • 2021-12-17
    • 1970-01-01
    相关资源
    最近更新 更多