Он компилируется до IL во время компиляции. Волшебство Reflector заключается в том, что он «понимает» IL и преобразует его обратно в c # (или VB.NET или что-то еще. Посмотрите в меню «Параметры» в Reflector, и вы можете просмотреть сборку в любом формате, включая IL).
В Reflector вы фактически не видите свой оригинальный код. Вы видите перевод IL на c #. В большинстве случаев это будет очень похоже на то, что вы написали, но есть некоторые явные признаки - например, найдите место, где вы реализовали авто-свойство :
string MyProperty {get;set;}
И вы увидите, к чему это на самом деле компилируется, что-то вроде этого:
public string MyProperty
{
[CompilerGenerated]
get
{
return this.<MyProperty>k__BackingField;
}
[CompilerGenerated]
set
{
this.<MyProperty>k__BackingField = value;
}
}