我们如何执行一个方法并从Reflection中获取返回值。
Type serviceType = Type.GetType("class", true);
var service = Activator.CreateInstance(serviceType);
serviceType.InvokeMember("GetAll", BindingFlags.InvokeMethod, Type.DefaultBinder, service, null);
我不确定您是否对返回值或返回类型感兴趣。
下面的代码回答了这两个问题,我尝试执行 sum 方法并获取值以及返回值的类型:
class Program
{
static void Main(string[] args)
{
var svc = Activator.CreateInstance(typeof(Util));
Object ret = typeof(Util).InvokeMember("sum", BindingFlags.InvokeMethod, Type.DefaultBinder, svc, new Object[] { 1, 2 });
Type t = ret.GetType();
Console.WriteLine("Return Value: " + ret);
Console.WriteLine("Return Type: " + t);
}
}
class Util
{
public int sum(int a, int b)
{
return a + b;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)