私はopenxmlを使用してExcelおよびPowerPointドキュメントを作成しています。 私はemtpyファイルを作成したくないので、自分のSave
メソッドを使用して完了したときにのみ、その文書を確実に書きたいと思っています。それはweelを動作させる。クラスプロパティでの使用MemoryStreamとIDisposable
開発中にクラッシュすると、しばしばDLLファイルがしばらくブロックされます。 IDisposableが適切に呼び出されなかったと私は考えていました。私のクラスのプロパティで使用を定義する方法はあります_MemStream
?
public partial class Presentation
{
public Pa.PresentationDocument PresentationDoc { get; set; } //PresentationPart parts
private MemoryStream _MemStream { get; set; }
public void Init(string FileName = "NoName")
{
//Init stream
this._MemStream = new MemoryStream();
this.PresentationDoc = Pa.PresentationDocument.Create(
this._MemStream, PresentationDocumentType.Presentation);
// Create the presentation
}
public string Save(string path)
{
this.PresentationDoc.Close();
using (FileStream fileStream = new FileStream(FileTemp,
System.IO.FileMode.CreateNew))
{
this._MemStream.WriteTo(fileStream);
}
this._MemStream.Flush();
}
}
'IDisposable'は(http://stackoverflow.com/a/34464312/993547)[あなたのプロセスが終了した場合に支援するつもりされていません]。 –
これは私が探しているものです:方法の代わりに、クラスのプロパティの "使用"を使用する方法はありますか?プライベートMemoryStreamのように_MemStream {get; using(set); } – Yoyo