很多时候,我们在看API的时候,某个类中有个很好的方法,但是是私有的,我们没办法直接用,在这里给大家提供一个采用反射的方法去调用类中私有方法的示例:
Type type = app.GetType();
BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;
var m = type.GetMethod("privateMethodName", flags);
var obj = m.Invoke(app, null);
示例代码中app为类对象,getMethod方法的第一个参数为私有方法的方法名称。调用invoke方法的第二个参数为该私有方法的参数。可用以上方法简单的调用类中的私有方法。