/// <summary> /// If any resources are needed for the stream to operate they need to be destroyed here. Once this method has been /// called all other methods (except open) may throw an exception. /// </summary> /// <exception cref="ItemStreamException"> </exception> public override void Close() { if (_initialized && FooterWriter != null) { FooterWriter.WriteFooter(_writer); _writer.Flush(); } CloseState(); if (_linesWritten == 0 && DeleteIfEmpty) { Resource.GetFileInfo().Delete(); } }
/// <summary> /// Constructor. /// </summary> /// <param name="headerWriter">The HeaderWriter to use to write headers.</param> /// <param name="valueWriters">The writers to use to restore values.</param> /// <param name="footerWriter">The FooterWriter to write footers.</param> public SaveControl(HeaderWriter headerWriter, ValueWriter valueWriters, FooterWriter footerWriter) { this.headerWriter = headerWriter; this.valueWriters = valueWriters; this.footerWriter = footerWriter; }