什么是TaskEx
?在http://www.i-programmer.info/programming/c/1514-async-await-and-the-ui-problem.html?start=1或await TaskEx.Delay或Await async clarification中。我用
Task DoWork()
{
return Task.Run(() =>
{
for (int i = 0; i < 30; i++)
{
Thread.Sleep(1000 * 60 * 30);
}
});
}
示例使用此
Task DoWork()
{
return TaskEx.Run(() =>
{
for (int i = 0; i < 10; i++)
{
Thread.Sleep(500);
}
}
});
我称之为
await DoWork();
如果只使用
Task
,await
不会返回任何内容,也不会有响应。如果我使用TaskEx
它表示它不存在于上下文中。TaskEx
应该是类还是具有某种功能的类?打一拳我就错了。
最佳答案
TaskEx
只是一个额外的类,它最初是用CTPs的Acyc/Acess扩展来传送的,而C 5则是.NET 4.5出货之前…现在是Async Targeting Pack(也称为Microsoft.Bcl.Async
NuGet package)的一部分,以防您想使用async/await,但目标是.net 4.0(它没有所需的一些代码)。
如果您使用的是.net 4.5或更高版本,只需使用Task.Run
,它也会执行相同的操作。(你不会使用目标包,所以你就不会有TaskEx
)。异步目标包不能向现有的Task
类添加静态方法,因此对TaskEx
的需求完全存在。
关于c# - 等待异步TaskEx,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35041478/