protected override void EmitMethodBody()
{
LocalBuilder value = DeclareLocal(_field.FieldType);
EmitLoadValue();
StoreLocal(value);
if (_field.IsStatic)
{
LoadLocal(value);
_il.Emit(OpCodes.Stsfld, _field);
}
else
{
EmitLoadTargetObject(_field.DeclaringType);
LoadLocal(value);
_il.Emit(OpCodes.Stfld, _field);
}
LoadLocal(value);
EmitReturn(_field.FieldType);
}