什么是在.NET 4.0中的一个Task.Run替换方法使用C#? [英] What is a replacement method for Task.Run in .NET 4.0 using C#?
本文介绍了什么是在.NET 4.0中的一个Task.Run替换方法使用C#?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我得到了这个节目,让我语法错误System.Threading.Tasks.task不包含运行的定义。
我是用VB 2010 .NET 4.0
有任何想法吗?在.NET 4.0中的运行任何替代?
使用系统;
使用System.Collections.Generic;
使用System.Linq的;
使用System.Text;
使用的System.Threading;
使用System.Threading.Tasks;命名空间ChatApp
{
类ChatProg
{
静态无效的主要(字串[] args)
{
任务< INT> WAKEUP = DoWorkAsync(2000年,醒来);
Task.WaitAll(唤醒);
} 静态任务< INT> DoWorkAsync(INT毫秒,字符串名称)
{ //下面出现在单词运行错误
返回Task.Run(()=>
{
Console.WriteLine(*启动{0}工作,名);
Thread.sleep代码(毫秒);
Console.WriteLine(* {0}工作一,名);
返回1;
});
}
}
}
解决方案
它看起来像<一个href=\"http://msdn.microsoft.com/en-us/library/dd321455(v=vs.100).aspx\"><$c$c>Task.Factory.StartNew<T>$c$c>就是你追求的。
返回Task.Factory.StartNew&LT; INT&GT;(()=&GT; {
// ...
返回1;
});
由于编译器可以推断出的返回类型,这也可以工作:
返回Task.Factory.StartNew(()=&GT; {
// ...
返回1;
});
I got this program that gives me syntax error "System.Threading.Tasks.task does not contain a definition for Run."
I am using VB 2010 .NET 4.0 Any ideas? any replacements for 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;
});
}
}
}
解决方案
It looks like Task.Factory.StartNew<T>
is what you're after.
return Task.Factory.StartNew<int>(() => {
// ...
return 1;
});
Since the compiler can infer the return type, this also works:
return Task.Factory.StartNew(() => {
// ...
return 1;
});
这篇关于什么是在.NET 4.0中的一个Task.Run替换方法使用C#?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文