Dot-Net

如何判斷流寫入器是否已關閉?

  • May 8, 2018

我正在結合使用 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() 方法中的事物引發了 Progress 事件。

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

我覺得這真的很香。我怎樣才能讓它變得更好,或者至少我怎樣才能檢查日誌文件沒有被關閉?有很多消息,所以我擔心連續打開和關閉日誌文件。

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

引用自:https://stackoverflow.com/questions/11323808