【发布时间】:2013-03-09 22:25:13
【问题描述】:
由于 C# 的 Task 是一个类,你显然不能将 Task<TDerived> 转换为 Task<TBase>。
但是,你可以这样做:
public async Task<TBase> Run() {
return await MethodThatReturnsDerivedTask();
}
是否有我可以调用的静态任务方法来获取Task<TDerived> 实例,它基本上只是指向底层任务并转换结果?我想要类似的东西:
public Task<TBase> Run() {
return Task.FromDerived(MethodThatReturnsDerivedTask());
}
这样的方法存在吗?仅出于此目的使用异步方法是否有任何开销?
【问题讨论】:
标签: c# task async-await