使用带有 async/await 关键字的最新 CTP5,我编写了一些代码,但显然无法编译:
class Program
{
public class MyClass
{
async public Task<int> Test()
{
var result = await TaskEx.Run(() =>
{
Thread.Sleep(3000);
return 3;
});
return result;
}
}
static void Main(string[] args)
{
var myClass = new MyClass();
//The 'await' operator can only be used in a method or lambda marked with the 'async' modifier error ??!!
int result = await myClass.Test();
Console.ReadLine();
}
}
“'await' 运算符只能在标有 'async' 修饰符的方法或 lambda 中使用”错误的原因是什么? (我选择了 Visual Studio 指向我的行)
我不知道你是否可以将 Main 标记为异步,但你需要包括async
任何使用的方法的声明中的关键字await
。例如:
public async void DoStuffAsync ()
{
var myClass = new MyClass ();
int result = await myClass.TestAsync ();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)