Если код написан в .NET с# и скомпилирован, можно ли его декомпилировать в другой язык .NET и получить рабочий код?

298
11 августа 2021, 16:40

Весьма странный и глупый вопрос пришел в голову.

Если весь код конвертируется IL, то чисто в теории можно конвертировать код из IL в любой язык .NET семейства. (или внешний язык добавленный в .NET) через компиляцию + декомпиляцию.

Вопрос: на сколько код полученный таким способом будет чистым и читабельным?

Answer 1

Будет нечитабельным. Весь вопрос тут только в реализации декомпилятора, что не является простой задачей. Декомпилятор из IL в F# вообще никто не делает (по крайней мере я не нашёл), и не думаю что он кому-то нужен.
А вот декомпилятор в C# например есть, по этому мы можем получить код на C# эквивалентный коду на F#... Вот только он ужасен. Так как эти языки действительно отличаются друг от друга не только синтаксисом, семантика F# просто ужасно выражается в C#.

READ ALSO
Почему xdebug показывает один файл index?

Почему xdebug показывает один файл index?

Всем привет, второй день капаюсь с проблемой подскажите пожалуйста в чем может быть дело?

180
как найти точные слова из предложения в mysql

как найти точные слова из предложения в mysql

как найти точные слова из предложения в mysql, например, в таблице есть столбец где находится категории "music","movie" и в поиске пользователь введет...

168
Как выполнить проверку заполнено поле или нет?

Как выполнить проверку заполнено поле или нет?

У меня есть поле с картинкой (Input type file), если его заполнить (То-есть указать путь к картинке) то скрипт сработает, но если не заполнять то скрипт...

193
Изменить индексы в массиве

Изменить индексы в массиве

Есть массив $my_array:

245