public override void Emit(IMemberEmitter member, ILGenerator gen) { Label trueLabel = gen.DefineLabel(); Label falseLabel = gen.DefineLabel(); _expression.Emit(member, gen); gen.Emit(_expression.BranchIfTrue, trueLabel); _expression.Emit(member, gen); gen.Emit(_expression.BranchIfFalse, falseLabel); gen.Emit(OpCodes.Ldstr, "No label selected"); gen.Emit(OpCodes.Ret); gen.MarkLabel(trueLabel); gen.Emit(OpCodes.Ldstr, "True"); gen.Emit(OpCodes.Ret); gen.MarkLabel(falseLabel); gen.Emit(OpCodes.Ldstr, "False"); gen.Emit(OpCodes.Ret); }