我想在我的應用程序中記錄狀態,並且我想避免將TextWriter參數傳遞給方法,例如在多種方法中使用StreamWriter的實例進行日誌記錄
public static void M1(TextWriter w)
到我所說的所有方法。無論如何,要避免這樣做?我想要類似下面的東西,但它的錯誤:名稱'W'在當前上下文中不存在
無論如何,使所有方法的Streamwriter的實例可用?或類似的東西?如果可能,你可以提供一個例子。
public static void Main(string[] args)
{
using (StreamWriter w = File.CreateText(ConfigManager.logFile))
{
Log("start");
M1();
Log("end");
}
}
public static void M1()
{
Log("M1 start");
Log("M1 end");
}
public static void Log(string logMessage)
{
w.WriteLine("[{0}][{1}] {2} ", String.Format("{0:yyyyMMdd HH:mm:ss}", DateTime.Now),
"Info", logMessage);
w.Flush();
}
我不會建議這個,因爲StreamWriter是IDisposable的,所以你會希望在可能的時候處理它。 – Bertvan 2012-04-19 10:15:29
我與Bertvan。每當類實現IDisposable時,總是使用「using」語句。 – 2012-04-19 10:26:16