protected virtual InstanceDescriptor GetInstanceDescriptor(DAEParameter parameter) { ConstructorInfo info; Type type = parameter.GetType(); switch (ShouldSerializeSignature(parameter)) { case 0: case 1: case 2: case 3: info = type.GetConstructor ( new Type[] { typeof(string), typeof(DAEDbType) } ); return(new InstanceDescriptor ( info, new object[] { parameter.ParameterName, parameter.DAEDbType } )); case 4: case 5: case 6: case 7: info = type.GetConstructor ( new Type[] { typeof(string), typeof(DAEDbType), typeof(string) } ); return(new InstanceDescriptor ( info, new object[] { parameter.ParameterName, parameter.DAEDbType, parameter.SourceColumn } )); default: info = type.GetConstructor ( new Type[] { typeof(string), typeof(DAEDbType), typeof(int), typeof(ParameterDirection), typeof(bool), typeof(byte), typeof(byte), typeof(string), typeof(DataRowVersion), typeof(object) } ); return(new InstanceDescriptor ( info, new object[] { parameter.ParameterName, parameter.DAEDbType, parameter.Size, parameter.Direction, parameter.IsNullable, parameter.Precision, parameter.Scale, parameter.SourceColumn, parameter.SourceVersion, parameter.Value } )); } }