我的一个班级在应用程序执行期间收集统计信息,我想在应用程序完成时将此统计信息存储到磁盘。我从来没有在我的程序中销毁这个类,所以我试图将日志存储到这样的文件中:
~Strategy()
{
foreach(var item in statisticItems)
{
log.WriteLine(item.Text); // log is AutoFlush
}
}
但是,我没有看到我希望看到的日志,也无法在调用析构函数的调试器时刻“捕捉”。
问题:
- 为什么在调试器中我无法捕捉到调用析构函数的时刻?程序完成时不是必须为每个对象调用析构函数吗?
- 我应该用什么来记录我的东西?