我正在制作一个简单的类,其中包含一个StreamWrite
class Logger
{
private StreamWriter sw;
private DateTime LastTime;
public Logger(string filename)
{
LastTime = DateTime.Now;
sw = new StreamWriter(filename);
}
public void Write(string s)
{
sw.WriteLine((DateTime.Now-LastTime).Ticks/10000+":"+ s);
LastTime = DateTime.Now;
}
public void Flush()
{
sw.Flush();
}
~Logger()
{
sw.Close();//Raises Exception!
}
}
但是当我在析构函数中关闭这个StreamWriter时,它会引发一个异常,说这个StreamWriter已经被删除了?
为什么会这样呢?如何使得在Logger类被删除之前,能够先关闭StreamWriter呢?
谢谢!