Как запретить ключевое слово var под целью .net 2.0?

Я создал новый проект в Visual Studio с целевой платформой 2.0. Но даже если я уехал где-нибудь var Visual Studio ключевого слова успешно компилирует проект. Это корректное поведение как var 3,0 функции? Есть ли любые настройки для предотвращения кода с var быть скомпилированным?

7
задан DixonD 4 August 2010 в 07:11
поделиться

4 ответа

var - это функция C # 3.0, но она не требует каких-либо функций framework . Другими словами, его можно использовать в проекте, ориентированном на .NET 2.0. То же самое можно сказать и о многих других функциях - анонимных типах, автоматических свойствах, лямбда-выражениях и т. Д.

Дополнительную информацию см. В моей статье о версиях . (Мне нужно обновить его для C # 4 в какой-то момент ...)

Если вы хотите, чтобы ограничил себя C # 2.0, вы можете указать версию языка, нажав «Дополнительно» в сборке вкладка свойств проекта, IIRC. (Он определенно где-то там, но я лучше выпью чашку кофе, чем сейчас проверю точное местоположение.)

14
ответ дан 6 December 2019 в 11:45
поделиться

var - это чисто функция времени компиляции, после компиляции сборки компилятор вставляет фактический тип и тот факт, что вы использовали var "потеряно".

Таким образом, проект, ориентированный на версию 2.0 фреймворка, может по-прежнему использовать функцию var , потому что она никак не влияет на выводимую сборку.

3
ответ дан 6 December 2019 в 11:45
поделиться

Пока ваш проект всегда будет компилироваться с помощью Visual Studio 2008 или новее, вы можете безопасно использовать возможности C # 3.0. Цель .NET 2.0 ограничивает только то, какие библиотеки вы можете использовать, но не какие языковые функции.

1
ответ дан 6 December 2019 в 11:45
поделиться

Либо полностью замените var на 1var1, либо вручную, либо используйте версии компилятора до 3.0.

-1
ответ дан 6 December 2019 в 11:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: