有人会为我解释一下以下 C# 代码吗?
我确实了解 IDisposable 的正常用法。但我不明白下面的代码。new LogLog.LogReceivedAdapter(configurationMessages)的实例化看起来与关键字 using 中的代码块无关。语句InternalConfigure(repository, configFile)最终如何更新变量configurationMessages?
顺便说一句,代码片段是从 log4net XmlConfigurator.cs#508 中获取的
static public ICollection Configure(ILoggerRepository repository, FileInfo configFile)
{
ArrayList configurationMessages = new ArrayList();
using (new LogLog.LogReceivedAdapter(configurationMessages))
{
InternalConfigure(repository, configFile);
}
repository.ConfigurationMessages = configurationMessages;
return configurationMessages;
}