Я все еще начинаю с Unity, и у меня возник вопрос, который кажется простым.
У меня есть класс, который зависит от двух разных экземпляров одного и того же интерфейса. Как мне настроить и разрешить этот класс?
т.е. Дано:
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.