private InstanceDescriptor ConvertToInstanceDescriptor(OracleParameter p) { // MDAC 67321 - reducing parameter generated code int flags = 0; // if part of the collection - the parametername can't be empty if (p.ShouldSerializeOracleType()) { flags |= 1; } if (p.ShouldSerializeSize()) { flags |= 2; } if (!ADP.IsEmpty(p.SourceColumn)) { flags |= 4; } if (null != p.Value) { flags |= 8; } if ((ParameterDirection.Input != p.Direction) || p.IsNullable || p.ShouldSerializePrecision() || p.ShouldSerializeScale() || (DataRowVersion.Current != p.SourceVersion)) { flags |= 16; } Type[] ctorParams; object[] ctorValues; switch (flags) { case 0: // ParameterName case 1: // OracleType ctorParams = new Type[] { typeof(string), typeof(OracleType) }; ctorValues = new object[] { p.ParameterName, p.OracleType }; break; case 2: // Size case 3: // Size, OracleType ctorParams = new Type[] { typeof(string), typeof(OracleType), typeof(int) }; ctorValues = new object[] { p.ParameterName, p.OracleType, p.Size }; break; case 4: // SourceColumn case 5: // SourceColumn, OracleType case 6: // SourceColumn, Size case 7: // SourceColumn, Size, OracleType ctorParams = new Type[] { typeof(string), typeof(OracleType), typeof(int), typeof(string) }; ctorValues = new object[] { p.ParameterName, p.OracleType, p.Size, p.SourceColumn }; break; case 8: // Value ctorParams = new Type[] { typeof(string), typeof(object) }; ctorValues = new object[] { p.ParameterName, p.Value }; break; default: ctorParams = new Type[] { typeof(string), typeof(OracleType), typeof(int), typeof(ParameterDirection), typeof(bool), typeof(byte), typeof(byte), typeof(string), typeof(DataRowVersion), typeof(object) }; ctorValues = new object[] { p.ParameterName, p.OracleType, p.Size, p.Direction, p.IsNullable, p.Precision, p.Scale, p.SourceColumn, p.SourceVersion, p.Value }; break; } System.Reflection.ConstructorInfo ctor = typeof(OracleParameter).GetConstructor(ctorParams); return(new InstanceDescriptor(ctor, ctorValues)); }
private InstanceDescriptor ConvertToInstanceDescriptor(OracleParameter p) { object[] objArray3; Type[] typeArray3; int num = 0; if (p.ShouldSerializeOracleType()) { num |= 1; } if (p.ShouldSerializeSize()) { num |= 2; } if (!System.Data.Common.ADP.IsEmpty(p.SourceColumn)) { num |= 4; } if (p.Value != null) { num |= 8; } if (((ParameterDirection.Input != p.Direction) || p.IsNullable) || ((p.ShouldSerializePrecision() || p.ShouldSerializeScale()) || (DataRowVersion.Current != p.SourceVersion))) { num |= 0x10; } if (p.SourceColumnNullMapping) { num |= 0x20; } switch (num) { case 0: case 1: typeArray3 = new Type[] { typeof(string), typeof(OracleType) }; objArray3 = new object[] { p.ParameterName, p.OracleType }; break; case 2: case 3: typeArray3 = new Type[] { typeof(string), typeof(OracleType), typeof(int) }; objArray3 = new object[] { p.ParameterName, p.OracleType, p.Size }; break; case 4: case 5: case 6: case 7: typeArray3 = new Type[] { typeof(string), typeof(OracleType), typeof(int), typeof(string) }; objArray3 = new object[] { p.ParameterName, p.OracleType, p.Size, p.SourceColumn }; break; case 8: typeArray3 = new Type[] { typeof(string), typeof(object) }; objArray3 = new object[] { p.ParameterName, p.Value }; break; default: if ((0x20 & num) == 0) { typeArray3 = new Type[] { typeof(string), typeof(OracleType), typeof(int), typeof(ParameterDirection), typeof(bool), typeof(byte), typeof(byte), typeof(string), typeof(DataRowVersion), typeof(object) }; objArray3 = new object[] { p.ParameterName, p.OracleType, p.Size, p.Direction, p.IsNullable, p.PrecisionInternal, p.ScaleInternal, p.SourceColumn, p.SourceVersion, p.Value }; } else { typeArray3 = new Type[] { typeof(string), typeof(OracleType), typeof(int), typeof(ParameterDirection), typeof(string), typeof(DataRowVersion), typeof(bool), typeof(object) }; objArray3 = new object[] { p.ParameterName, p.OracleType, p.Size, p.Direction, p.SourceColumn, p.SourceVersion, p.SourceColumnNullMapping, p.Value }; } break; } return(new InstanceDescriptor(typeof(OracleParameter).GetConstructor(typeArray3), objArray3)); }
private InstanceDescriptor ConvertToInstanceDescriptor(OracleParameter p) { object[] objArray3; Type[] typeArray3; int num = 0; if (p.ShouldSerializeOracleType()) { num |= 1; } if (p.ShouldSerializeSize()) { num |= 2; } if (!System.Data.Common.ADP.IsEmpty(p.SourceColumn)) { num |= 4; } if (p.Value != null) { num |= 8; } if (((ParameterDirection.Input != p.Direction) || p.IsNullable) || ((p.ShouldSerializePrecision() || p.ShouldSerializeScale()) || (DataRowVersion.Current != p.SourceVersion))) { num |= 0x10; } if (p.SourceColumnNullMapping) { num |= 0x20; } switch (num) { case 0: case 1: typeArray3 = new Type[] { typeof(string), typeof(OracleType) }; objArray3 = new object[] { p.ParameterName, p.OracleType }; break; case 2: case 3: typeArray3 = new Type[] { typeof(string), typeof(OracleType), typeof(int) }; objArray3 = new object[] { p.ParameterName, p.OracleType, p.Size }; break; case 4: case 5: case 6: case 7: typeArray3 = new Type[] { typeof(string), typeof(OracleType), typeof(int), typeof(string) }; objArray3 = new object[] { p.ParameterName, p.OracleType, p.Size, p.SourceColumn }; break; case 8: typeArray3 = new Type[] { typeof(string), typeof(object) }; objArray3 = new object[] { p.ParameterName, p.Value }; break; default: if ((0x20 & num) == 0) { typeArray3 = new Type[] { typeof(string), typeof(OracleType), typeof(int), typeof(ParameterDirection), typeof(bool), typeof(byte), typeof(byte), typeof(string), typeof(DataRowVersion), typeof(object) }; objArray3 = new object[] { p.ParameterName, p.OracleType, p.Size, p.Direction, p.IsNullable, p.PrecisionInternal, p.ScaleInternal, p.SourceColumn, p.SourceVersion, p.Value }; } else { typeArray3 = new Type[] { typeof(string), typeof(OracleType), typeof(int), typeof(ParameterDirection), typeof(string), typeof(DataRowVersion), typeof(bool), typeof(object) }; objArray3 = new object[] { p.ParameterName, p.OracleType, p.Size, p.Direction, p.SourceColumn, p.SourceVersion, p.SourceColumnNullMapping, p.Value }; } break; } return new InstanceDescriptor(typeof(OracleParameter).GetConstructor(typeArray3), objArray3); }