C# 2.0 должен перейти C# 3.0 стоящий того для этого проекта? [закрытый]

XAML не анализируется как время компиляции, это в основном строка ресурса.

Две опции:

1) Отметьте метод с атрибутом [Сохранить], чтобы

[Preserve]

Ссылка: Ссылка на кросс-платформу Ссылка: iOS Linker Ссылка: Android Linker

2) Предварительно скопируйте свой XAML в IL, чтобы линкер знал, что это событие используется.

[assembly: XamlCompilation (XamlCompilationOptions.Compile)]

Это дает дополнительное преимущество от времени компиляции вашего XAML, некоторое снижение в режиме загрузки XAML и времени создания экземпляра и небольшого уменьшения памяти.

Ссылка: Использование компилятора XAML для повышения производительности приложения Xamarin.Forms

17
задан 22 revs, 7 users 48% 1 September 2010 в 17:51
поделиться

16 ответов

Нет, я советовал бы нет. Я советовал бы запускаться 3.5 на новых проектах только, если нет определенная причина иначе. Вы не будете обладать никаким преимуществом от 3,5, просто перекомпилировав, так как Ваш код уже написан (или по крайней мере 75% из него).

, Если необходимо мигрировать на 3,5 в будущем, можно легко сделать это. Конечно, у Вас будет код в 2,0 стилях, но что сделано, сделан.

  • Быть консервативными, не делайте чего-то, если Вам не нужен он.
  • приложение, которое составляет 75% в C#2.0 и 25% в C#3.0, не является точно хорошим зверем для поддержания. 100%-е приложение C#2.0, конечно, более удобно в сопровождении.

, Когда Вы соберетесь запустить новый проект, затем любой ценой, переключитесь! Новая версия платформы очень интересна, и переключатель горячо рекомендуется.

23
ответ дан 30 November 2019 в 09:56
поделиться

Я ничего не изменил бы, если у Вас нет серьезного основания сделать так; т.е. существует ошибка, что Вы не можете обходное решение в 2,0.

Обновление платформы в такой последней точке в проекте, вероятно, вызовет некоторые проблемы, в которых Вы действительно не нуждаетесь в данный момент.

0
ответ дан 30 November 2019 в 09:56
поделиться

Если у Вас есть расширение проекта, это могла бы быть хорошая вещь переключиться теперь на новейшую версию.NET, иначе я не буду.

0
ответ дан 30 November 2019 в 09:56
поделиться

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

1
ответ дан 30 November 2019 в 09:56
поделиться

Я не понимаю все Вы, люди, говорящие, не делают этого..NET 2.0 является током (CLR) время выполнения..NET 3.0 и.NET 3.5 оба работают на 2,0 временах выполнения. Перемещение в.NET 3.5 для получения функций C# 3.0 является буквально вопросом изменения сингла, выпадающего в свойствах проекта. (Хорошо, и развертывание 3,5 времен выполнения к Вашим целевым машинам при использовании приблизительно 3,5 функций, таких как LINQ, и т.д. При установке 3.5, является проблемой затем, это не такой легкий ответ.)

1
ответ дан 30 November 2019 в 09:56
поделиться

Я много раз делал преобразование. Главным образом, потому что ясный синтаксис от лямбда-выражений делает код легче следовать (для меня так или иначе).

я действительно использую ReSharper, который делает использующие новые 3,5 функции снимком, поскольку довольно многие обнаруживаются как рефакторинг предложений ReSharper. Используя инструмент как этот делает этот переход настолько легче.

2
ответ дан 30 November 2019 в 09:56
поделиться

3,5 сборки сверху 2,0, таким образом, у Вас нет проблем, переходящих непосредственно к 3,5.

1
ответ дан 30 November 2019 в 09:56
поделиться

Необходимо взвесить стоимость по сравнению с преимуществом. Вы не предоставляете достаточно информации о своем проекте разрешить нам совету Вас здесь, но рассмотреть:

  • стоимость преобразования является довольно маленькой. C# 3.0 почти полностью backwardly совместим с 2,0 и работавший платформа 2.0
  • , преимущество является также довольно небольшим, если кодирование почти закончено, но мог бы расти в конечном счете. Новая опция, которую Вам, возможно, придется реализовать в будущем, могла бы оказаться намного более легким реализованным использованием Linq, например.
2
ответ дан 30 November 2019 в 09:56
поделиться

Это действительно зависит от того, что необходимо сделать. Если Ваш проект требует Лямбда-выражений, где Вы - объекты запроса с ясным синтаксисом, необходимо посмотреть 3.0.

я в настоящее время читаю C# Подробно Jon Skeet, и он проявляет подход разметки решения в C# 1.15, затем развивает решение изобразить новую и полезную функциональность, в которую Вы входите 2.0 и 3.0. Этот тип прогрессии был бы идеальным средством ответить на Ваши вопросы. Книга читает хорошо также, таким образом, я нахожу, что прохожу через нее быстро.

2
ответ дан 30 November 2019 в 09:56
поделиться

Если Ваш проект будет почти завершенным, то Вы, вероятно, не извлечете выгоду из новых возможностей 3,5. Для новых проектов это, конечно, достойное внимания.

2
ответ дан 30 November 2019 в 09:56
поделиться

Это действительно зависит от проекта, кто предназначается для, и что это делает.

было бы безопасно предположить, что Платформа.NET 2.0 находится на значительно большем количестве компьютеров, чем версия 3.5.

Кроме того, - там что-нибудь, в чем Вы нуждаетесь от.NET 3.5, который не доступен в 2,0 (такие как LINQ)? Если бы Вы имеете дело с большим количеством запросов и данных, я переключился бы. Но снова, зависит от клиента и если Вы намеревались поддержать это приложение для обозримого будущего.

2
ответ дан 30 November 2019 в 09:56
поделиться

По-моему, нет никакого серьезного основания не переключиться на 3,5.

реальная уничтожающая функция - то, что можно продолжить быть нацеленными на более старые версии времени выполнения (2.0 +) при использовании всех новых функций языка. Таким образом, можно использовать новые лямбда-выражения, дополнительные методы, анонимные типы и всю другую пользу материал. И если Ваши клиенты все еще, прежде всего, используют 2,0 платформы, можно продолжить быть нацеленными на более раннее время выполнения.

(Просто не используют ни одного из эти классы от 3,5 платформ, если необходимо быть нацелены на более ранние версии среды выполнения.)

Лично, я думаю, делаете ли Вы настольное приложение для GUI, Ваш лучший выбор состоит в том, чтобы использовать 3,0 или 3,5 платформы, так как WPF является лучшей библиотекой пользовательского интерфейса, с которой я когда-либо работал (намного).

, С другой стороны, если Вы уже записали большую часть своего GUI в WinForms, затем Вы могли бы интересоваться 3,5 платформами, которые позволяют (ограниченное) смешивание WinForms и элементов GUI WPF. Можно сохранить работу, которую Вы уже сделали, но добавляете несколько приятных черт тут и там, везде, где она имеет смысл со средствами управления WPF.

Другой удобной функцией 3,5 платформ являются "Инициализаторы Набора". Проверьте это:

var myDictionary = new Dictionary<String, String> {
   { "key-1", "value-1" },
   { "key-2", "value-2" },
   { "key-3", "value-3" },
};

Аккуратный, ха?

мне понравился бы он немного лучше, если это было немного более подобно JSON. Но это - очень удобная функциональность во всяком случае.

Любой Вы можете событие предназначаться для того кода для 2,0 времен выполнения!

3
ответ дан 30 November 2019 в 09:56
поделиться

Я думаю, что многое из этого сведется к Вашему персональному стилю. По моему скромному мнению, лучшие функции C# 3.5 действительно сводятся к следующему

  1. Лямбда-выражения
  2. Методы Расширения LINQ

, Мой код OO все еще имеет тенденцию выглядеть немного функциональным ориентированный. Поэтому я вижу 3.5 как огромное преимущество, и это определенно стоит обновления.

то, Что еще лучше, возможно использовать 3,5 компилятора, чтобы вниз предназначаться для CLR 2.0. Это позволяет Вам развертывать на основе 2,0 установок (по сравнению с установкой 3.0/3.5) использование новой платформы. Все вышеупомянутое может быть сделано в этом сценарии, если Вы готовы добавить соответствующие типы в свою программу.

6
ответ дан 30 November 2019 в 09:56
поделиться

Есть ли какая-либо функция C# 3.5, которую Вы хотите плохо на данном этапе? :)

, Если это - LINQ, можно дать LINQBridge попытка.. С мультипредназначением и LINQBridge Studio, Вы сможете записать локальный (LINQ к Объектам), запросы с помощью полной мощности C# 3.0 compiler— и все же программ потребуют только Платформы 2.0.

12
ответ дан 30 November 2019 в 09:56
поделиться

Разъяснение
C# 3.5 не существует. Существует C#1.0, C#2.0 и C#3.0.

Затем существует.NET 1.0.NET 1.1.NET 2.0.NET 3.0 и.NET 3.5.

Мы не должны путать два.

C# 3.0 по сравнению с C#2.0
Теперь, действительно ли C#3.0 стоит перемещения? Я сказал бы, что с существованием Дополнительных методов и Лямбда-выражений, ответ - да. Одни только эти две функции делают для более легкого для чтения и более быстрый для написания кода. Добавьте, что к автореализованным свойствам, LINQ и частичным методам, и C#3.0 показывает себя, чтобы быть выгодным перемещением.

Однако не обязательно выгодно переместить существующий проект. Необходимо взвесить профессионалов и недостатки, особенно относительно представления новых ошибок и нестабильности, прежде, чем решить переместить существующую работу. Для новых проектов я сказал бы, запускаются с C#3.0.

52
ответ дан 30 November 2019 в 09:56
поделиться

С технологической точки зрения это - вся версия 2 платформы, и это - очень мало усилия достигнуть. Различия в 2,0, 3.0 и 3.5 всего дополнительный код библиотеки и некоторый компилятор синтаксический сахар.

Это не похоже на Вас, должен переключить что-либо; путем предназначения для платформы 3.5 у Вас есть больше опций.

С Вашей точки зрения команд: Да это стоит того. Никто не хочет работать над старыми кодовыми базами. В то время как Вы в разгар разработки, Вы могли бы также использовать актуальнейшую стабильную технологию.

2
ответ дан 30 November 2019 в 09:56
поделиться
Другие вопросы по тегам:

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