我想使用var关键字在我的类中声明一个字段,但是var似乎只在方法中起作用。
我的代码看起来像这样:
public static Dictionary<string, string> CommandList = new Dictionary<string, string>{};我想要有:
public static var CommandList = new Dictionary<string, string>为什么这不可能呢?
发布于 2009-12-19 01:07:28
我关于这个主题的文章:
Why no var on fields?
总结一下:
发布于 2009-12-19 01:09:19
从C# reference
也来自The C# Programming Reference
仅当在同一语句中声明并初始化局部变量时,才能使用
它并不是为你想要的用途而设计的。
它的主要目标是允许在代码中支持匿名类型,另外的优点是允许以一种简洁的方式指定局部变量。
发布于 2009-12-19 01:03:49
简短的答案是因为规范上说这是不合法的。;-)
一般来说,这不是你想要做的。成员的类型应该是IDictionary<string, string>而不是Dictionary<string, string>。它很小,但通常最好在外部可见的对象中使用接口,这样您可以在以后更改类型,而不会影响代码的客户端。编译器只是给你一个小小的推动,引导你朝那个方向前进。
https://stackoverflow.com/questions/1929492
复制相似问题