private static void WriteColumn(ProtoWriter writer, ProtoBufDataColumn column) { ProtoWriter.WriteFieldHeader(FieldHeaders.Column, WireType.StartGroup, writer); var columnToken = ProtoWriter.StartSubItem(column, writer); ProtoWriter.WriteFieldHeader(FieldHeaders.ColumnName, WireType.String, writer); ProtoWriter.WriteString(column.Name, writer); ProtoWriter.WriteFieldHeader(FieldHeaders.ColumnType, WireType.Variant, writer); ProtoWriter.WriteInt32((int)column.ProtoBufDataType, writer); ProtoWriter.EndSubItem(columnToken, writer); }
private void ReadColumn(int ordinal) { var columnToken = ProtoReader.StartSubItem(this.protoReader); var name = this.ReadColumnName(); var protoBufDataType = this.ReadColumnType(); var column = new ProtoBufDataColumn(name: name, ordinal: ordinal, dataType: TypeHelper.GetType(protoBufDataType), protoBufDataType: protoBufDataType); this.columns.Add(column); this.protoReader.ReadFieldHeader(); ProtoReader.EndSubItem(columnToken, this.protoReader); }