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
。坦率地说,可能有几十个问题与你的问题是重复的;我只是选择了最古老的一个直接适用的答案(即答案与您需要的答案完全相同)。