C# · 12月 27, 2021

编译/优化后可以看到C#代码吗?

当我从深度: http://csharpindepth.com/Articles/Chapter6/IteratorBlockImplementation.aspx的C#中找到一个示例章节时,我正在阅读yield关键字.

第一个代码块利用yield关键字做一个简单的迭代器.但是,第二个代码块在编译器已经使用它之后显示了这个代码.除此之外,它已经将收益率声明分解成了状态机.

编译器修改的其他几个代码示例在页面上是显而易见的.

我的问题是:作者在编译后实际上是否可以访问代码,还是推断出它将会是什么样的?

解决方法 你可以看看使用反射器,这可能是你最好的选择:

http://reflector.red-gate.com