Почему я не могу объявить поле, используя var

Возможный дубликат:
Почему поля класса не могут быть переменными?

Я хотел бы избежать ввода сложных/длинных определений типов для полей, как вы можете с локальными переменными.

Я хотел бы знать, почему это не может быть сделано?

public class Foo
{
    public var barField = new Dictionary<string, int>(); // Does not work

    public void Method()
    {
        var barLocal = new Dictionary<string, int>(); // Works
    }
}

person George Duckett    schedule 29.06.2011    source источник


Ответы (2)


Прямо из источника:

Почему нет var в полях ?

person jason    schedule 29.06.2011
comment
+1 (и принять, когда я могу), отвечает на вопрос «почему», который был моим вопросом. - person George Duckett; 29.06.2011

У вас не может быть глобальных переменных. Пожалуйста, проверьте раздел примечаний на http://msdn.microsoft.com/en-us/library/bb384061.aspx

person Sachin Kainth    schedule 29.06.2011
comment
Вопрос заключается в том, почему этого нельзя сделать, а не только в том, что это невозможно. - person Jon Skeet; 29.06.2011