反射如果调用异步方法

xloveme 2015-07-23 05:06:07

class asyncClass
{
public asyncClass()
{
var method = GetType().GetMethod("test");

//这行代码出错,因为永远取不到真正的返回值
var data = method.Invoke(this, new object[0]) as string;
}

public async Task<string> test()
{
//假设这里已经实现了需要的所有代码
throw new NotImplementedException();
}
}


反射如果调用异步方法,求教、求教!!!

//这行代码出错,因为永远取不到真正的返回值
var data = method.Invoke(this, new object[0]) as string;


反射如果调用异步方法,求教、求教!!!
...全文
265 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunny906 2015-07-23
  • 打赏
  • 举报
回复

var data = method.Invoke(this, new object[0]) as Task<string>;
Console.Write(data.Result);
sunny906 2015-07-23
  • 打赏
  • 举报
回复

var data = method.Invoke(this, new object[0]) as string;
改成

var data = method.Invoke(this, new object[0]) as Task<string>;
//然后打印data.Result看看是不是你要的结果

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧