internal override void Emit(ILGenerator ilg, bool preserve) { Cond.Emit(ilg); var lbFalse = ilg.DefineLabel(); var lbTrue = ilg.DefineLabel(); ilg.Emit(OpCodes.Brfalse, lbFalse); True.Emit(ilg); ilg.Emit(OpCodes.Br, lbTrue); ilg.MarkLabel(lbFalse); False.Emit(ilg); ilg.MarkLabel(lbTrue); if (!preserve) { ilg.Emit(OpCodes.Pop); } }