使用DLL .NET内部方法

是否有可能使用一个DLL的内部方法?
我使用Reflector和dotPeek反编译了.net dll,并find了我需要的,名称和方法的参数。
我已经做了一个简单的程序来调用公共的程序,所以我很好。
CFF资源pipe理器( 这里 )允许改变一些东西公共/私人/静态/等…
有没有人试过这个成功? 谢谢。

是的,你可以使用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" });