2010-07-10 2 views
3

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

  • Каковы факторы, которые следует учитывать при переносе на более раннюю версию C#?
  • Трудно ли адаптироваться/жить с более ранней версией?
  • Каковы классы/библиотеки, которые я пропущу при переходе с C# 3.0 на C# 2.0?
+0

Боже, это трудный вопрос. Компилировать и исправлять ошибки до тех пор, пока вы больше не нажмете? – Will

ответ

2

Это то, что вам нужно настроить .NET 2.0, но может компилироваться с использованием 2008/2010?

Если это так, вы все равно будете иметь все возможности C# 3.0, включая методы расширения, lambdas, понимание запросов и неявное типирование.

Если вы скачали LinqBridge, у вас тоже будет это.

Я использую эту настройку для shareware-приложения с .NET 2.0 прямо сейчас. Все, что я действительно пропустил для этого конкретного проекта, - это WPF. :-)

+1

Если вы идете по этому маршруту, я просто буду стараться убедиться, что ответственный человек полностью понимает, что вы делаете, и все в порядке. Возможно, существует некоторая фактическая причина, по которой они застряли в прошлом с 2.0 - возможно, на автоматизированных серверах сборки нет компилятора 3.0, возможно, другие разработчики не хотят изучать новые вещи, возможно, лицензию ReSharper, на которую у вашей компании есть только охватывает 2.0 и не будет работать, когда вы используете VS2005 с .NET 3.0, кто знает ... Просто о чем подумать. –

2

Я бы порекомендовал C# in Depth Jon Skeet, так как он начинает с версии 2.0, а затем переходит на 3.0 (как я понимаю, придет новое издание, которое также будет охватывать 4.0). Его книга отлично разделяет различные версии языка и идет хорошо, давая вам именно то, что вы ищете. Думаю, в вашем случае просто прочитайте книгу назад :)

2

Linq. Если вы не используете это, это, вероятно, легкий ветерок.

1

Не знаю, имеете ли вы значение 3.0 или 3.5 ... но все зависит от того, какие функции языка/структуры вы используете для использования. Если вы используете анонимные типы, WCF, WPF, WF или LINQ, вам придется найти альтернативы. Если вы используете лямбда-выражения, инициализаторы объектов/коллекций, неявное объявление переменных и методы расширения, тогда вам придется писать вещи несколько иначе, но это не должно быть огромной сделкой. Помимо этого, вы должны быть в безопасности.

Смежные вопросы