3

我必须实现一个 C# 接口方法,例如:

Task<Foo> ExecuteAsync();

但是这个特定的实现实际上是同步的。我怎样才能做到这一点?

4

1 回答 1

3

如果您使用的是 .Net 4.0,则需要使用TaskCompletionSource,设置其结果,然后返回Task.

在 .Net 4.5 / C# 5.0 上,您有两个选择:使用Task.FromResult()或将您的方法变成async没有任何await. 第二种方法效率较低,并且会产生警告,所以我会选择第一种方法。

于 2013-01-18T02:57:08.750 回答