C# 使用c从外部dll使用内部静态类方法#

C# 使用c从外部dll使用内部静态类方法#,c#,.net,dll,C#,.net,Dll,我有一个程序集,其中的代码如下 namespace A{ internal static class SourceData { static SourceData() { //some code } [MethodImpl(MethodImplOptions.NoInlining)] public static string getdata(string name

我有一个程序集,其中的代码如下

namespace A{
    internal static class SourceData
    {
        static SourceData()
        {    
            //some code
        }   
        [MethodImpl(MethodImplOptions.NoInlining)]
        public static string getdata(string name)
        {
            return (string) null;
        }
    }
}
现在我在我的项目中引用了那个dll,我想访问getdata()方法,这是可能的吗?如果是的话,怎么办?
谢谢。

在程序集A中,您可以添加InternalsVisibleTo属性:


当然,如果要在其他程序集中使用它,你应该考虑把它公开,

就是这个例子。显示它不可能重复尝试使用反射如果您无法修改程序集,则程序集和接口之间存在差异@peterdunhoit's true程序集和接口之间存在差异。所以获得对标记为
internal
的程序集内容(无论是接口(如其他问题中)还是类中的静态方法(如您的问题中)的访问权限的认可方法是使用
InternalsVisibleToAttribute
。坦率地说,可能有几十个问题与你的问题是重复的;我只是选择了最古老的一个直接适用的答案(即答案与您需要的答案完全相同)。