public SlfFile(SlfFile.Header aHeader, IEnumerable <SlfFile.Record> aRecords) { this.FHeader = aHeader; this.FRecords = new SlfFile.Record[aHeader.iEntries]; int i = 0; foreach (SlfFile.Record _record in aRecords) { this.FRecords[i] = _record; i++; } }
private void Save(SlfFile.Header aHeader, SlfFile.Record[] aRecords, Stream aOutput) { Serializer _serializer = new Serializer(aOutput); _serializer.Serialize(aHeader); //Сначала пишем данные. //Заголовки должны быть отсортированы по именам файлов. См. SlfFile.Record.CompareTo. Array.Sort(aRecords); foreach (SlfFile.Record _rec in this.FRecords) { _rec.WriteData(aOutput); } //Заголовки файлов в конце SLF-архива!!! foreach (SlfFile.Record _rec in aRecords) { _rec.WriteHeader(_serializer); } }