protected bool Parse <T>(string Field, ref Seq2ListRef <T> b, CVSReader.ValueParse <T> parse, string post) { if (Field.Length == 0) { b.indexOffset = 0; return(true); } string[] array = Field.Split(new char[] { '|' }); if (array.Length == 0) { b.indexOffset = 0; return(true); } lock (CVSReader._seqIndex) { b.count = (byte)array.Length; b.indexOffset = this.AddIndexBuffer(array.Length); for (int i = 0; i < array.Length; i++) { string field = array[i]; int num = 0; this.Parse <T>(field, ref num, parse, post, 2); CVSReader.indexBuffer[b.indexOffset + i] = num; } } return(true); }
protected bool ReadSeqList <T>(BinaryReader stream, ref Seq2ListRef <T> v, CVSReader.ValueParse <T> parse) { v.count = stream.ReadByte(); if (v.count > 0) { lock (CVSReader._seqIndex) { v.indexOffset = this.AddIndexBuffer(v.count); for (byte b = 0; b < v.count; b += 1) { int num = v.indexOffset + (int)b; int num2 = 0; this.Parse <T>(stream, parse, 2, ref num, ref num2); CVSReader.indexBuffer[v.indexOffset + (int)b] = num2; } return(true); } } v.indexOffset = 0; return(true); }