Объявите внешние функции var - PullRequest
0 голосов
/ 20 июля 2011

почему я не могу объявить, например, var myVar = "myvariable" как глобальную переменную в классе? Есть ли способ сделать это?

Ответы [ 6 ]

9 голосов
/ 20 июля 2011

почему я не могу объявить, например, var myVar = "myvariable" как глобальную переменную в классе?.

Потому что именно так разработчики языка C # решили реализовать его.

Есть ли способ сделать это?.

Нет, нет.

3 голосов
/ 20 июля 2011

Начиная с Visual C # 3.0, переменные, объявленные в методе область действия может иметь неявный тип var

Из-за спецификации C # они находятся только в области действия метода.

1 голос
/ 20 июля 2011

Нет, var только для локальных переменных.Смотри это

0 голосов
/ 09 октября 2017

Я думаю, вы ищете статическую переменную.

Например,

    public class AGlobalVar 
{ 
    public static int AVar = 10; 

}

Вы должны иметь доступ к переменной в любом месте приложения.Чтобы получить к нему доступ просто перейдите AGlobalVar.AVariable.

0 голосов
/ 20 июля 2011

Неявный тип может быть помещен в область видимости метода только как локальная переменная.

0 голосов
/ 20 июля 2011

var - ключевое слово, обычно используемое для анонимных типов.Затем, объявив поле или глобальную переменную, вы должны явно установить реальный тип для вашего поля.

Из MSDN:

  • var может использоваться только тогда, когда локальная переменная объявлена ​​и инициализирована в том же операторе;переменная не может быть инициализирована значением NULL или группой методов или анонимной функцией.

  • var нельзя использовать в полях в области видимости класса.

  • Переменные, объявленные с помощью var, нельзя использовать в выражении инициализации.Другими словами, это выражение является законным: int i = (i = 20);но это выражение вызывает ошибку времени компиляции: var i = (i = 20);

  • Несколько переменных с неявным типом не могут быть инициализированы в одном выражении.

  • Если тип с именем var находится в области видимости, ключевое слово var будет преобразовано в это имя типа и не будет рассматриваться как часть неявно типизированного объявления локальной переменной.

Смотри также: Мнение Эрика Липперта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...