Andrew_STOP_RU_AGRESSION_IN_UA Asked:2020-09-26 20:21:36 +0000 UTC2020-09-26 20:21:36 +0000 UTC 2020-09-26 20:21:36 +0000 UTC 如果代码是用 .NET c# 编写并编译的,是否可以将其反编译为另一种 .NET 语言并获得工作代码? 772 一个非常奇怪和愚蠢的问题浮现在脑海中。 如果所有代码都转换为 IL,那么纯粹理论上可以将代码从 IL 转换为 .NET 系列的任何语言。(或添加到 .NET 的外部语言)通过编译 + 反编译。 问题:通过这种方式获得的代码的干净和可读性如何? c# 1 个回答 Voted Best Answer bearpro 2020-08-27T06:00:20Z2020-08-27T06:00:20Z 这将是不可读的。这里的整个问题只是在反编译器的实现中,这不是一件容易的事。没有人制作从 IL 到 F# 的反编译器(至少我没有找到),而且我认为没有人需要它。 但是例如 C# 中有一个反编译器,因此我们可以获得与 F# 代码等效的 C# 代码……但这很糟糕。由于这些语言之间的区别不仅仅在于语法,因此 F# 的语义在 C# 中表现得非常糟糕。
这将是不可读的。这里的整个问题只是在反编译器的实现中,这不是一件容易的事。没有人制作从 IL 到 F# 的反编译器(至少我没有找到),而且我认为没有人需要它。
但是例如 C# 中有一个反编译器,因此我们可以获得与 F# 代码等效的 C# 代码……但这很糟糕。由于这些语言之间的区别不仅仅在于语法,因此 F# 的语义在 C# 中表现得非常糟糕。