What is TaskEx
? In http://www.i-programmer.info/programming/c/1514-async-await-and-the-ui-problem.html?start=1 or await TaskEx.Delay or Await async clarification. I use
Task DoWork()
{
return Task.Run(() =>
{
for (int i = 0; i < 30; i++)
{
Thread.Sleep(1000 * 60 * 30);
}
});
}
Examples use this
Task DoWork()
{
return TaskEx.Run(() =>
{
for (int i = 0; i < 10; i++)
{
Thread.Sleep(500);
}
}
});
I call it like await DoWork();
If you use just Task
, await
returns nothing and there is no response. If I use TaskEx
it says it doesn't exist in context.
Should TaskEx
be a class or something with some sort of function?
Fists one Works it's my mistake.
TaskEx
was just an extra class which initially shipped with the CTPs of the async/await extensions for C# 5 before .NET 4.5 shipped... and is now part of the Async Targeting Pack (aka the Microsoft.Bcl.Async
NuGet package) in case you want to use async/await but are targeting .NET 4.0 (which doesn't have some of the code required for it).
If you're using .NET 4.5 or later, just use Task.Run
, which does the same thing. (You won't be using the targeting pack, so you won't have TaskEx
.) The async targeting pack can't add a static method to the existing Task
class, hence the need for TaskEx
existing at all.
See more on this question at Stackoverflow