protected MethodInfo EmitPromotion(Type expectedType) { _il.Emit(OpCodes.Castclass, typeof(IConvertible)); _il.Emit(OpCodes.Ldnull); MethodInfo method = GetPromotionMethod(expectedType); _il.Emit(OpCodes.Callvirt, method); return method; }