Dispose() protected méthode

protected Dispose ( bool disposing ) : void
disposing bool
Résultat void
Exemple #1
0
            protected override void Dispose(bool disposing)
            {
                if (disposing && !_isDisposed)
                {
                    _crcSizeStream.Dispose(); // now we have size/crc info

                    if (!_everWritten)
                    {
                        // write local header, no data, so we use stored
                        _entry.WriteLocalFileHeader(isEmptyFile: true);
                    }
                    else
                    {
                        // go back and finish writing
                        if (_entry._archive.ArchiveStream.CanSeek)
                        {
                            // finish writing local header if we have seek capabilities

                            _entry.WriteCrcAndSizesInLocalHeader(_usedZip64inLH);
                        }
                        else
                        {
                            // write out data descriptor if we don't have seek capabilities
                            _entry.WriteDataDescriptor();
                        }
                    }
                    _canWrite   = false;
                    _isDisposed = true;
                }

                base.Dispose(disposing);
            }