2012-07-04 249 views
10

我正在使用Streamwriter與後臺工作人員進行日誌記錄。如何判斷Streamwriter是否已關閉?

因此,我有

System::Void 
MyUI::execBWorker_DoWork(System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e) { 

String^ outputPath = _clr::Settings::ApplicationLogPath("_log.txt", true, false); 
logfile_ = gcnew StreamWriter(outputPath,true); 

DoStuff(); 
logfile_->Close(); 
} 

事在DoStuff()方法提高進度事件。

System::Void 
MyUI::execBWorker_ProgressChanged(System::Object^ sender, System::ComponentModel::ProgressChangedEventArgs^ e) { 
logfile_->WriteLine("something"); 
} 

我覺得這真的有味道。我怎樣才能讓它變得更好,或者至少我該如何檢查日誌文件還沒有關閉?有很多消息,所以我很擔心不斷打開和關閉日誌文件。

回答

16

如果StreamWriter已關閉,則BaseStream屬性將返回null

+0

酷 - 回答技術部分。 – Melanie

+0

@Melanie:'File :: AppendText'可能對你有用。 – leppie

相關問題