internal static object ReadPrimitive(ReaderBase reader, TypeCode code) { switch (code) { case TypeCode.Boolean: return(reader.ReadBoolean()); case TypeCode.Byte: return(reader.ReadByte()); case TypeCode.Char: return(reader.ReadChar()); case TypeCode.DateTime: return(reader.ReadDateTime()); case TypeCode.Decimal: return(reader.ReadDecimal()); case TypeCode.Double: return(reader.ReadDouble()); case TypeCode.Int16: return(reader.ReadInt16()); case TypeCode.Int32: return(reader.ReadInt32()); case TypeCode.Int64: return(reader.ReadInt64()); case TypeCode.SByte: return(reader.ReadSByte()); case TypeCode.Single: return(reader.ReadSingle()); case TypeCode.String: return(reader.ReadString()); case TypeCode.UInt16: return(reader.ReadUInt16()); case TypeCode.UInt32: return(reader.ReadUInt32()); case TypeCode.UInt64: return(reader.ReadUInt64()); case TypeCode.DBNull: return(DBNull.Value); } return(null); }