Search code examples
c#.netoptimizationyield

How is it possible to see C# code after compilation/optimization?


I was reading about the yield keyword when I came across a sample chapter from C# in Depth: http://csharpindepth.com/Articles/Chapter6/IteratorBlockImplementation.aspx.

The first block of code utilizes the yield keyword to make a simple iterator. But, the second block of code shows this code after the compiler has had its way with it. Among other things, it has exploded the yield statement into a state machine.

Several other examples of code being modified by the compiler is evident on the page.

My question is: Was the author actually able to access the code after compilation, or did he infer what it was going to look like?


Solution

  • You can have a look using Reflector, that's probably your best bet:

    http://reflector.red-gate.com