Можете ли вы использовать дополнительные параметры в кодовом таргетинге .NET 3.5?
Я хочу написать библиотеку, которая использует новую функцию дополнительных параметров для C # 4.0, но я хочу настроить ее на версию 3.5. Это возможно?
Являются ли дополнительные параметры синтаксическим сахаром так же, как и методы расширения?
- Подключение к базе данных Oracle с помощью Visual Studio Server Explorer вызывает сбой Visual Studio
- Как запустить приложение CUDA в Visual Studio 2010?
- Не удалось загрузить DLL 'SQLite.Interop.dll'
- как связать библиотеку (например, CUBLAS, CUSPARSE) для CUDA на windowsх
- Как публиковать Web с помощью msbuild?
- WPF, «Ссылка на объект не установлена в экземпляр объекта» в Designer
- Проблемы с профилированием функций - Visual Studio 2010 Ultimate
- Шаг в свойство / функцию (F11) не работает должным образом
- Не удалось найти имя типа или имени пространства
- Visual Studio 2010 несовместим?
- Каково значение тега ProjectTypeGuids в файле проекта visual studio
- Повреждение кучи при использовании CreateWindowExW
- Предупреждение как ошибка - как избавиться от этих
С VS2010 RC я смог создать приложение .NET 3.5, которое использует дополнительные параметры в C #.
Так что да, это все о синтаксическом сахаре.
VS 2010 поддерживает дополнительные параметры в C # для решений .NET 3.5. Однако одно из предостережений заключается в том, что компилятор командной строки сообщает об ошибках.
Итак, если у вас есть автоматические сборки в запуске, – используя NANT или что-то еще, используя компилятор командной строки, ваши сборки не сработают.
Как и Джон Скит, я получал параметр «Необязательный параметр», который нельзя использовать, потому что он не является частью спецификации языка 3.0 C # ». Однако в RTM-версии Visual Studio вы можете выбрать версию языка для «по умолчанию» в «Свойства проекта» -> «Сборка-> Дополнительно». Это заставило меня работать.
Вы можете использовать необязательные и именованные параметры в целевой структуре предыдущей версии, поскольку сборки сборки строятся в среде разработки для v4 (fe VS2010). Но вы должны знать о компиляции или публикации веб-сайтов во время выполнения, в этом случае будет использован компилятор целевой структуры. И поскольку компиляторы старых фреймворков не понимают синтаксис необязательных и именованных параметров, это приведет к ошибкам компилятора.
Перейдите к свойствам проекта -> вкладка «Создать» -> нажмите кнопку «Дополнительно» -> установите языковую версию на «по умолчанию» -> сохранить -> быть счастливой;)
У меня нет VS2010, установленного здесь для проверки, но я считаю, что это будет чисто языковая функция, и поэтому его следует использовать вне зависимости от целевой среды.
Редактирование: если посмотреть на эту ссылку (и несколько других), то представляется, что необязательные параметры компилируются в аргументы метода с атрибутом [opt] в il. Я не знаю, существовал ли этот параметр в предыдущих версиях clr, но все же я предполагал, что это так.
VB.NET имеет необязательные параметры, если вы хотите использовать необязательные параметры в .NET 3.5.