2016-06-21 36 views
-2

我正在向事件日誌寫入錯誤,但是當我檢查泄漏時,事件日誌泄漏.net分析器中,我是否需要處理此對象?它會在多線程中產生任何問題嗎?事件日誌泄漏問題(.net分析器顯示未處理)

public override void ProcessWarning(string title, string message) 
{ 
    if (title == null) 
     eventLog.WriteEntry(message, EventLogEntryType.Warning); 
    else 
     eventLog.WriteEntry(title + '\n' + message, EventLogEntryType.Warning); 
    } 
} 
+0

發佈*相關*代碼。你在哪裏定義'eventLog',你在哪裏初始化它,爲什麼不把它放在父類的Dispose方法中? –

回答

0

EventLog類擴展Component,這表明它實現IDisposable。所以是的,你需要(最終)Dispose()它。

顯然你的eventLog是你的課堂上的一個領域。這個(一個IDisposable字段)意味着你的類需要實現IDisposable本身。在您自己的Dispose方法中,您將需要處理該eventLog

當然這意味着任何使用這個類必須把它當作它現在的IDisposable。