反射,从方法中获取返回值
我们如何执行一个方法并从反射中获取返回值。
Type serviceType = Type.GetType("class", true);
var service = Activator.CreateInstance(serviceType);
serviceType.InvokeMember("GetAll", BindingFlags.InvokeMethod, Type.DefaultBinder, service, null);
How can we exacute a method and get the return value from Reflection.
Type serviceType = Type.GetType("class", true);
var service = Activator.CreateInstance(serviceType);
serviceType.InvokeMember("GetAll", BindingFlags.InvokeMethod, Type.DefaultBinder, service, null);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我不确定您是否对返回值或返回类型感兴趣。
下面的代码回答了这两个问题,我尝试执行 sum 方法并获取值以及返回值的类型:
I am not sure whether you are interested on the return value or the return Type.
Well both are answered by the code below, where I try to execute the sum method and get the value as well as the Type of the return value:
将 InvokeMember 结果转换为方法调用实际返回的类型。
cast the InvokeMember result to the type actually returned by the method call.
http://msdn.microsoft.com/en-us/library/de3dhzwy.aspx
“返回值
类型:System.Object
表示被调用成员的返回值的对象。”
http://msdn.microsoft.com/en-us/library/de3dhzwy.aspx
"Return Value
Type: System.Object
An object representing the return value of the invoked member."
你可以尝试这样的事情:
我还没有编译它,但它应该可以工作。
You can try something like this:
I haven't compiled it, but it should work.