什么是在.NET 4.0中的一个Task.Run替换方法使用C#? [英] What is a replacement method for Task.Run in .NET 4.0 using C#?

查看:3500
本文介绍了什么是在.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>就是你追求的。

 返回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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆