public COMDEFRecord(RecordReader reader, RecordContext context) : base(reader, context) { int startIndex = context.ExternalNames.Count; while (!reader.IsEOF) { CommunalNameDefinition def = new CommunalNameDefinition(); def.DefinedBy = reader.RecordNumber; def.Name = reader.ReadPrefixedString(); def.TypeIndex = reader.ReadIndex(); def.DataType = reader.ReadByte(); def.ElementCount = ReadEncodedInteger(reader); if (def.DataType == 0x61) // FAR data: count, elemsize { def.ElementSize = ReadEncodedInteger(reader); } else { def.ElementSize = 1; } context.ExternalNames.Add(def); } int endIndex = context.ExternalNames.Count; this.Definitions = context.ExternalNames.Slice( startIndex, endIndex - startIndex); }
public COMDEFRecord(RecordReader reader, RecordContext context) : base(reader, context) { int startIndex = context.ExternalNames.Count; while (!reader.IsEOF) { CommunalNameDefinition def = new CommunalNameDefinition(); def.DefinedBy = reader.RecordNumber; def.Name = reader.ReadPrefixedString(); def.TypeIndex = reader.ReadIndex(); def.DataType = reader.ReadByte(); def.ElementCount = ReadEncodedInteger(reader); if (def.DataType == 0x61) // FAR data: count, elemsize def.ElementSize = ReadEncodedInteger(reader); else def.ElementSize = 1; context.ExternalNames.Add(def); } int endIndex = context.ExternalNames.Count; this.Definitions = context.ExternalNames.Slice( startIndex, endIndex - startIndex); }