请考虑以下情形:

作品:

SemanticModel semanticModel;
document.TryGetSemanticModel(out semanticModel);

不起作用:
var semanticModel;
document.TryGetSemanticModel(out semanticModel);

作品:
document.TryGetSemanticModel(out SemanticModel semanticModel);

可以,但是:
document.TryGetSemanticModel(out var semanticModel);

但是:代码可以编译,但是悬停时没有智能感知或文档。最后一种方法是否被认为是第二种方法的语法糖(这会导致以下错误),还是不仅限于此?



那么,我是否正在查看实现或Visual Studio中的错误?

最佳答案

我怀疑一旦C#6编译器完成,这可能会起作用。目前,它确实可以编译,但是Roslyn仍在开发中,并且intellisense在当前版本中有局限性。



这很可能是Visual Studio所使用的编译器服务中的“错误”(实际上是尚未实现的功能)。我建议将其归档为Issue in the Roslyn Codebase

07-24 12:42