我仍然开始使用 Unity,并且有一个似乎很简单的问题。
我有一个类依赖于同一接口的两个不同实例。如何配置和解决这个类?
IE 给定:
public interface ILogger
{
void Write(string message);
}
public class ConsoleLogger : ILogger
{
public void Write(string message)
{
Console.WriteLine(message);
}
}
public class AnotherLogger : ILogger
{
public void Write(string message)
{
Console.WriteLine(DateTime.Now.ToString() + " " + message);
}
}
public class CombinedLogger : ILogger
{
IList<ILogger> _loggers;
public CombinedLogger(params ILogger[] loggers)
{
_loggers = new List<ILogger>(loggers);
}
public void Write(string message)
{
foreach(var logger in _loggers) logger.Write(message);
}
}
我知道如何配置 ConsoleLogger 和 AnotherLogger。我也知道如何在实际代码中访问它们。我似乎在阻止的是弄清楚如何配置和使用 CombinedLogger,传入 ConsoleLogger 和 AnotherLogger 的实例。