我依旧记得有一个属性告诉我们一个任务是否同步执行但是我的记忆刚刚让我失望。或者可能没有,我正在将IAsyncResult.CompletedSynchronously
与这个混在一起?
答案 0 :(得分:5)
请检查:Task.IAsyncResult.CompletedSynchronously Property
它的描述看起来很像答案:
获取操作是否同步完成的指示。
为了检查属性值,您必须将Task
强制转换为IAsyncResult
,因为Task
明确地实现了它。
bool? result = (myTask as IAsyncResult)?.CompletedSynchronously;
您可以使用System
命名空间中定义的扩展方法WindowsRuntimeSystemExtensions.AsAsyncOperation代替显式转换:
bool result = myTask.AsAsyncOperation().CompletedSynchronously;
正如评论中合理指出的那样,虽然当前property implementation有一个插话。截至2016年10月1日,它始终返回false
。这是一个需要改变的主题。