It compiled before IL, well, compilation time. The magic of the reflector is that it "understands" IL and converts it back to C # (or VB.NET or something else). Look at the Options menu in Reflector, and you can view the assembly in any format, including IL).
In Reflector, you actually don't see your source code. You see the translation of IL in C #. In most cases, it will be very similar to what you wrote, but there are some telltale signs - for example, find the place where you implemented the auto-property :
string MyProperty {get;set;}
And you will see what actually compiles, something like this:
public string MyProperty { [CompilerGenerated] get { return this.<MyProperty>k__BackingField; } [CompilerGenerated] set { this.<MyProperty>k__BackingField = value; } }
Rex m source share