8
4

2 回答 2

9

await当前的 Roslyn CTP 中没有实现支持(尽管它现在在内部构建中实现)。

错误报告差异的原因是我们首先构建了 Roslyn 解析器,以便它可以处理整个 C# 4 语言,然后一次为特性填充语义。由于await是 C# 5 的特性,它甚至不被解析器识别,也没有地方识别它的使用并提供一个很好的错误。

于 2013-03-09T17:20:39.397 回答
5

实际上,罗斯林论坛确实有答案。如果您查看文章Known Limitations and Unimplemented Language Features,您会注意到它在 C# 中尚未实现的功能中包含“异步”。

该列表是关于 6 月 CTP 的,但由于6 月 CTP 和 12 月 CTP 之间的更改列表没有列出异步,这意味着它还没有实现。

我认为错误消息不同的原因是 Roslyn 确实理解dynamic(但还没有实现它)。另一方面,它不理解async- await,所以它会给你一般的编译错误。

于 2013-03-09T17:20:51.737 回答