コード例 #1
0
ファイル: RarHeader.cs プロジェクト: zipgenius/sharpcompress
        internal T PromoteHeader <T>(MarkingBinaryReader reader)
            where T : RarHeader, new()
        {
            T header = new T();

            header.FillBase(this);

            reader.Mark();
            header.ReadFromReader(reader);
            header.ReadBytes += reader.CurrentReadByteCount;

            int headerSizeDiff = header.HeaderSize - (int)header.ReadBytes;

            if (headerSizeDiff > 0)
            {
                reader.ReadBytes(headerSizeDiff);
            }

            return(header);
        }