Молчун
Зарегистрирован: 14 March 2008
Сообщения: 20
Примеры кода: 0
|
Существуют ли инструменты конвертации исходного кода на C# в C# младшей версии? |
24 March 2008 13:39 |
|
|
|
|
jbond:
Все новые фичи .NET 3.0/3.5 завязаны на библиотеках .NET 3.0/3.5
Все новые языковые конструкции полностью отвечают CLR из .NET 2.0.
По сути это устоявшийся набор инструкций.
Так что вопрос "я хочу юзать фичи из .NET 3.x" в .NET 2.x некорректен. Байт-код он воспримет без проблем. А вот библиотеки?
ПС. .NET 1.x уже давно deprecated.
Так я же говорю о том, что не неважно, какой сложности фреймворк -- всё-равно можно переписать (читай: портировать) его на MSIL. В конечном итоге, компилятор C# 3.0 просто даёт "сахарную обёртку" вокруг C# 2.0 так же, как и C# 2.0 вокруг C# (по нисходящей). Всё-равно, если какая-то синтаксическая часть реализована средствами библиотек, то это всё-равно не принципиально. Скажем даже больше, что тот же LINQ можно использовать на MSIL, только нужно уметь понимать и использовать его так, как это делает сам компилятор. А то, что именно здесь идёт привязка на фреймворк, не очень-то и важно, ведь (ещё разповторюсь) можно переписать, но вряд ли нужно.
Всё-равно я же хотел посмотреть, как работает компилятор C#, предлагая новые синтаксические конструккции, и мне с этим помогли, за что одному человеку огромное спасибо. Ведь это позволяет точно понимать, как работает язык (да, можно использовать ILDasm, но он слишком нечитабельный), но ведь имея под рукой тот же транслятор cfront, переводя код с С++ на С, можно было понять очень много, если что-нибудь не ясно было в самом С++.
Такая же ситуация и з C#, ведь любой (!) код на C#]=3.x в конечном итоге преобразуется в MSIL -- набор елементарных операций. И ещё раз хочу попросить: люди, не путайте язык и библиотеки, даже если язык использует библиотеки неявным образом. Это сродни тому, как некоторые "програмисты" начинают возмущаться, что они пишут на Delphi, хотя даже не подозревая, что пишут в Delphi на Object Pascal, используя VCL.
We are the nobodies
Данное сообщение получено с сайта GotDotNet.RU
|
|