我正在使用流编写器和后台工作人员进行日志记录。
因此,我有
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
.
关于.net - 如何判断流编写器是否已关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11323808/