我的应用程序中有一个非常简单的日志记录机制,它会定期将一行写入文件(日志库对我的需要来说是多余的),看起来像这样:
private string logfile = @"C:\whatever.log";
public void WriteLine(string line)
{
using(FileStream fs = File.Open(logfile, FileMode.Append))
{
// Log Stuff
}
}
因此,每当我调用该方法时,都会在日志记录完成后创建并处理一个新的 FileStream。所以我考虑使用已经实例化的对象来防止新对象的不断创建:
private string logfile = @"C:\whatever.log";
private FileStream myStream = File.Open(logfile, FileMode.Append);
public void WriteLine(string line)
{
using(myStream)
{
// Log Stuff
}
}
但是,由于范围问题, MSDN 参考不鼓励这样做(最后一个示例)。在这种情况下怎么办?我的第一个示例中的开销可以忽略不计吗?