without - task.run c#




Quelle est une méthode de remplacement pour Task.Run dans.NET 4.0 en utilisant C#? (4)

Il semble que Task.Factory.StartNew<T> est ce que vous recherchez.

return Task.Factory.StartNew<int>(() => {
    // ...
    return 1;
});

Puisque le compilateur peut déduire le type de retour, cela fonctionne aussi:

return Task.Factory.StartNew(() => {
    // ...
    return 1;
});

https://code.i-harness.com

J'ai eu ce programme qui me donne l'erreur de syntaxe "System.Threading.Tasks.task ne contient pas une définition pour exécuter."

J'utilise VB 2010 .NET 4.0 Des idées? des remplacements pour Run in .net 4.0?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ChatApp
{
class ChatProg
{
    static void Main(string[] args)
    {
        Task<int> wakeUp = DoWorkAsync(2000,"Waking up");
        Task.WaitAll(wakeUp);
    }

    static Task<int> DoWorkAsync(int milliseconds, string name)
    {

        //error appears below on word Run
        return Task.Run(() =>
            {
                Console.WriteLine("* starting {0} work", name);
                Thread.Sleep(milliseconds);
                Console.WriteLine("* {0} work one", name);
                return 1;
            });
    }
}
}

J'ai changé votre code avec Task.Factory.StartNew check detail blogs.msdn.com/b/pfxteam/archive/2011/10/24/10229468.aspx

 static Task<int> DoWorkAsync(int milliseconds, string name)
        {


            //error appears below on word Run
            return   Task.Factory.StartNew(() =>
            {
                Console.WriteLine("* starting {0} work", name);
                Thread.Sleep(milliseconds);
                Console.WriteLine("* {0} work one", name);
                return 1;
            });
        }


Task.Factory.StartNew(() =>
        {
            try
            {
                Thread.Sleep(200);
                IntPtr TouchhWnd = IntPtr.Zero;
                TouchhWnd = FindWindow(null, "屏幕键盘");
                if (TouchhWnd != IntPtr.Zero)
                {
                    SetWindowPos(TouchhWnd, HWND_TOPMOST, 500, 500, 400, 300, SWP_SHOWWINDOW);
                }
            }
            catch { }
        });




task-parallel-library