Je commence toujours avec Unity, et j'ai ce qui me semble être une question simple.Comment configurer Unity pour créer une classe qui prend deux éléments différents de même type?
J'ai une classe qui dépend de deux instances différentes de la même interface. Comment configurer et résoudre cette classe?
I.E. Étant donné:
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);
}
}
Je sais comment configurer pour ConsoleLogger et AnotherLogger. Je sais aussi comment y accéder dans le code actuel. Ce que je semble bloquer est de comprendre comment configurer et utiliser CombinedLogger, en passant dans les instances de ConsoleLogger et AnotherLogger.
Ok, je comprends tout, mais comment CombinedLogger sait quelles autres instances utiliser quand il est créé. C'EST À DIRE. Je veux que CombinedLogger accède à la fois à ConsoleLogger et AnotherLogger. –