1
私は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文でパラメータ名を入力する必要があります。
ありがとうございます!
はい!ありがとうございました ;) – Matthias