public T[] ReadVector <T>(ReadItemDelegate read_item) { T[] vector = new T[this.ReadInt16()]; for (int i = 0; i < vector.Length; i++) { vector[i] = (T)read_item(); } return(vector); }
protected virtual TLIST ReadList <TLIST, TITEM>(ref TLIST list, CreateListDelegate <TLIST, TITEM> listCreate, CreateItemDelegate <TITEM> itemCreate, ReadItemDelegate <TITEM> itemReader) where TLIST : List <TITEM> { int count = Reader.ReadInt32(); list = listCreate(count); for (int i = 0; i < count; i++) { var item = itemCreate(); itemReader(ref item); list.Add(item); } return(list); }