object _ReadColumn(Column column, BinaryReader reader) { var type = column.Type; switch (type) { case ColumnType.String: return(reader.ReadString()); case ColumnType.Double: return(reader.ReadDouble()); case ColumnType.Int: return(reader.ReadInt32()); case ColumnType.Float: return(reader.ReadSingle()); case ColumnType.Boolean: return(reader.ReadBoolean()); case ColumnType.Date: return(new DateTime(reader.ReadInt64())); case ColumnType.Long: return(reader.ReadInt64()); case ColumnType.Byte: return(reader.ReadByte()); case ColumnType.IndexList: return(IndexList.ReadFrom(reader)); case ColumnType.WeightedIndexList: return(WeightedIndexList.ReadFrom(reader)); case ColumnType.Vector: return(FloatVector.ReadFrom(reader)); case ColumnType.Matrix: return(FloatMatrix.ReadFrom(reader)); case ColumnType.Tensor: return(FloatTensor.ReadFrom(reader)); default: return(null); } }