C# .NET4.0中的异步wat

C# .NET4.0中的异步wat,c#,multithreading,asynchronous,.net-4.0,C#,Multithreading,Asynchronous,.net 4.0,在我需要为windows XP制作一个应用程序之前,我一直在使用C#with.NET 4.5,而.NET 4.5不支持这个应用程序 我的问题是如何实现此功能: private async Task<int> wait(int czas) { return await Task.Run(() => { Thread.Sleep(czas * 1000); return 0;

在我需要为windows XP制作一个应用程序之前,我一直在使用C#with.NET 4.5,而.NET 4.5不支持这个应用程序

我的问题是如何实现此功能:

        private async Task<int> wait(int czas)
    {
        return await Task.Run(() =>
        {
            Thread.Sleep(czas * 1000);
            return 0;
        });
    }
private异步任务等待(int-czas)
{
返回等待任务。运行(()=>
{
线程睡眠(czas*1000);
返回0;
});
}

在.NET 4.0中,不能在.NET 2.0、3.0和3.5中使用异步和等待,如果必须以.NET 3.5为目标,可以尝试.NET 3.5


另一个有趣的帖子可能是:

如David所述,您可以在.Net4项目中使用BCL.Async来提供异步/等待功能。最简单的方法是安装(现在稳定的)Microsoft.Bcl.Async Nuget包(此处和此处的详细信息)

如果它只有
Sleep()
s,只需删除它。我自己还没有尝试过,但Microsoft发布了.NET 4.0以获得与C#5编译器的异步/等待。我安装了Bcl.Async,但它没有Task.Run方法。你知道我该怎么做吗?好的,我找到了一个解决方案:Task.Factory.StartNewKeep记住,这样一来,xp用户将不得不安装.net 4.0和KB2468871,这是另一个约20mb的下载。还请记住,xp上的.net 4.0漏洞不会被修复,如果您的xp用户中有人会有漏洞,您将无法检查和修复这些漏洞。