Await async TaskEx

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.

Answers


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.


"TaskEx is a class that exists only in the CTP, since there was no way to add extra methods to the existing Task class in the Framework (as the CTP is implemented using a separate assembly).

It will not exist in the final, RTM version of the framework. The methods defined on TaskEx will be migrated to Task."

Source: https://social.msdn.microsoft.com/Forums/en-US/74c5ba79-76cc-4f73-a3fa-35616525ab80/what-is-the-difference-between-task-and-taskex-?forum=async

CTP was a community preview version of the .NET compiler platform.


Need Your Help

Installing and Running MongoDB on OSX

node.js mongodb macos shell database

If someone can provide some insights here I would GREATLY appreciate it.

How to set focus on a view when a layout is created and displayed?

java android focus

Currently, I have a layout which contains a Button, a TextView and an EditText. When the layout is displayed, the focus will be automatically put on the EditText, which will trigger the keyboard to...