请考虑以下情形:
作品:
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。