c#编译器:获取中间输出
有没有一种方法可以指示c#编译器在编译的不同阶段输出源代码:删除语法糖后的源代码,…,IL 也许有些工具(Resharper?)可以做到这一点,但我想知道它们是如何做到的。不,没有。C#编译器不生成任何中间输出。它产生错误/警告或程序集 获取IL可以通过ildasm完成。这是一个与.Net一起提供的工具,它将显示程序集的原始ILc#编译器:获取中间输出,c#,compiler-construction,C#,Compiler Construction,有没有一种方法可以指示c#编译器在编译的不同阶段输出源代码:删除语法糖后的源代码,…,IL 也许有些工具(Resharper?)可以做到这一点,但我想知道它们是如何做到的。不,没有。C#编译器不生成任何中间输出。它产生错误/警告或程序集 获取IL可以通过ildasm完成。这是一个与.Net一起提供的工具,它将显示程序集的原始IL 不,你能得到的最好的是白细胞介素。我相信一些AOP工具(比如)通过获取IL并用属性代码重写它来工作。你为什么这么问?你有什么事情要做吗?你应该看看微软的项目。它将构
他们编写自己的语法和语义分析器 了解诸如lambda表达式之类的一些特性转换为什么会很有帮助。我想为此构建一个简单的工具。@ren如果这是您想要的,那么我建议您阅读Jon Skeet的《深入C#》第二版,因为它更好地解释了其中的一些内容。或者,您可以阅读CLR规范?最后,你可能会发现像LinqPad这样的工具很有用?我会试试LinqPad,谢谢。最好先看看,然后再看看:)我也会看看NRefactory。谢谢你对Roslyn做了更详细的解释。它看起来是一个了解系统内部的迷人窗口。