是否可以使用一个DLL的内部方法?
我使用Reflector和dotPeek对.net dll进行了反编译,找到了我需要的,方法的名称和参数。
我已经制作了一个简单的程序来呼叫公共的程序,所以我对此很好
CFF Explorer(here)允许将一些内容更改为public / private / static / etc ...
有人试过这个成功吗?感谢。
答案 0 :(得分:1)
是的,您可以使用Reflection
。考虑以下课程:
public class A
{
internal void Method(string val) { }
}
要使用该方法,您需要执行以下操作:
var a = new A();
var methodInfo = a.GetType().GetMethod("Method", BindingFlags.Instance | BindingFlags.NonPublic);
if (methodInfo == null) { return; } // the method wasn't found on the type
methodInfo.Invoke(a, new object[] { "parameter value" });
如果方法返回值:
var result = methodInfo.Invoke(a, new object[] { "parameter value" });