0

NinjectにToFactory拡張機能を使用しようとしていますが、いくつかの問題が発生しています。

このようなコンストラクターがある場合:

public ListenerReader(IDepen1 depen1, IDepen2 depen2, UdpClient client, DataReceiveModes dataReceiveMode, int receivePort)
{
}

次に、次のようなアイテムを自動的に作成するファクトリを作成します。

  public interface IListenerReaderFactory
  {
    ListenerReader CreateListenerReader(UdpClient client, DataReceiveModes dataReceiveMode, int receivePort);
  }

インジェクトされたファクトリを呼び出そうとすると、アクティブ化エラーが発生します。intのアクティブ化中にエラーが発生します。
一致するバインディングが利用できず、タイプが自己バインドできません。

Ninjectは、ファクトリにプリミティブ型を注入するのが好きではないようです。私もこれと同じエラーを見ましたが、別のファクトリの文字列タイプで?

これが機能しない場合、パラメーターを呼び出されたメソッドに分離する必要がありますか?

編集:

問題のタイプは工場の外に注入されていたようです。したがって、Ninjectは、失敗したenum型とint型のバインディングを作成しようとしていました。

4

1 に答える 1

0

問題は、ファクトリが呼び出されず、代わりにタイプが直接注入されていたことです。

于 2012-06-12T17:39:14.687 に答える