У меня есть интерфейс с именем IListener
. Теперь я хочу создать класс, который получает экземпляры этого интерфейса.
public Controller(IListener listener1, IListener listener2)
{ ... }
Для реализации IListener
нужен порт. Как определить имя параметра в привязке IListener
, чтобы выбрать подходящий порт? Я думаю, что обратный вызов может выглядеть так:
public Kernel()
{
Bind<IListener>()
.To<SyncUdpListener>()
.WithConstructorArgument("port", GetListenerPort);
}
private object GetListenerPort(IContext context, ITarget target)
{
var command = this.Get<Command>();
switch (...)
{
case "videoListener":
return command.VideoPort;
case "audioListener":
return command.AudioPort;
}
throw new Exception();
}
Где мне нужно указать имя параметра в операторе switch.
Заранее спасибо!