Подтвердить что ты не робот

Можете ли вы использовать дополнительные параметры в кодовом таргетинге .NET 3.5?

Я хочу написать библиотеку, которая использует новую функцию дополнительных параметров для С# 4.0, но я хочу настроить ее на версию версии 3.5. Возможно ли это?

Являются ли дополнительные параметры синтаксическим сахаром так же, как и методы расширения?

4b9b3361

Ответ 1

С VS2010 RC я смог создать приложение .NET 3.5, которое использует необязательные параметры в С#.

Итак, да, это все о синтаксическом сахаре.

Ответ 2

VS 2010 поддерживает дополнительные параметры в С# для решений .NET 3.5. Однако одно из предостережений заключается в том, что компилятор командной строки сообщает об ошибках.

Итак, если у вас есть автоматические сборки в запуске, - используя NANT или что-то еще, используя компилятор командной строки - ваши сборки не сработают.

Ответ 3

Как и Jon Skeet, я получал необязательный параметр "Feature", который нельзя использовать, потому что он не является частью спецификации языка 3.0 С# ". Однако в RTM-версии Visual Studio вы можете выбрать версию языка для" по умолчанию "в" Свойства проекта "- > " Сборка- > Дополнительно". Это заставило меня работать для меня.

Ответ 4

Вы можете использовать необязательные и именованные параметры в целевой структуре предыдущей версии, поскольку сборки сборки строятся в среде разработки для v4 (например, VS2010). Но вы должны знать о компиляции или публикации веб-сайтов во время выполнения, в этом случае будет использован компилятор целевой структуры. И поскольку компиляторы старых фреймворков не понимают синтаксис необязательных и именованных параметров, это приведет к ошибкам компилятора.

Ответ 5

У меня нет VS2010, установленного здесь для проверки, но я считаю, что это будет исключительно языковой функцией и поэтому должно использоваться, независимо от того, какова цель.

Изменить: если посмотреть на link (и несколько других), то, по-видимому, необязательные параметры компилируются в аргументы метода с помощью [opt] атрибут в il. Я не знаю, существовал ли этот параметр в предыдущих версиях clr, но все же я предполагал, что это так.

Ответ 6

Перейдите к свойствам проекта → вкладка "Создать" → нажмите кнопку "Дополнительно" → установите версию языка для "по умолчанию" → сохранить → быть счастливой;)

Ответ 7

VB.NET имеет необязательные параметры, если вы хотите использовать необязательные параметры в .NET 3.5.