有谁知道或关心推测为什么隐式类型仅限于局部变量?
var thingy = new Foo();
但是为什么不…
var getFoo() { return new Foo(); }
埃里克·利珀特(Eric Lippert)撰写了有关该主题的完整博客文章。
总而言之,主要的问题是,这将需要对C#编译器进行重大的重新架构。声明当前以单遍方式处理。由于能够在推断变量之间形成循环,因此需要多次通过。VB.NET具有大致相同的问题。