-2

我正在向事件日志写入错误,但是当我检查泄漏时,我在 .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);
    }
}
4

1 回答 1

0

EventLog类扩展了Component ,这表明它实现了IDisposable。所以是的,您将需要(最终) Dispose() 它。

显然你eventLog是你班上的一个领域。这(一个 IDisposable 字段)意味着您的类需要自己实现 IDisposable。在您自己的 Dispose 方法中,您将需要处理它eventLog

当然,这意味着任何使用此类的东西都必须将其视为现在的 IDisposable。

于 2016-06-21T12:57:59.900 回答