1

关于调用异步进程,我有点头脑发热。我有我的 void main 函数,我想从第三方 dll 调用一个仅作为异步方法存在的方法 - 我不在乎它是异步的,我只想同步运行它。

那么我该怎么做呢?我快速浏览了如何从 C# 中的同步方法调用异步方法?但它似乎有点复杂,不得不担心上下文等。这应该很容易吧?

谢谢托马斯

4

1 回答 1

1

只需获取返回的任务的 Result 属性

var returned = methodCall().Result;

这将阻塞直到任务完成,然后返回。如果它已经完成,它将继续正常执行。我认为您只想同步调用一个方法一次,但以防万一,请注意,如果您有多个要异步发生的调用,则需要先调用它们,然后再点击结果

var returned1 = methodCall1(); // this is a Task<List<string>>
var returned2 = methodCall2();
var actualValue1 = returned1.Result; // this is the associated List<string>
var actualValue2 = returned2.Result;
于 2013-08-30T05:37:41.830 回答