配置 ILSpy 以显示本地方法生成代码背后的详细信息

Configure ILSpy to show details behind generated code for local method

我试图查看这个小示例的编译器代码:

static void Main()
{
    int i = 0;
    AddToI(5);
    AddToI(10);
    Console.WriteLine(i);
    void AddToI(int amount) => i += amount;
}

我正在使用 ILSpy,它显示的代码与原始代码几乎相同。 但我希望编译器添加一些 class 或结构?

也许我可以调整 ILSpy 以显示更多详细信息?

您可以 select 在工具栏中使用较低的语言版本(例如 C# 6),以防止 ILSpy 使用更新的功能。

您也可以在“查看”>“选项”>“反编译器”中关闭个别语言功能。

要快速查看“此代码编译成什么?”,您可以使用 https://sharplab.io。 SharpLab 的 C# 模式也使用 ILSpy 反编译器,但几乎禁用了所有功能。