私はNinjectインターフェイス上ファクトリを作成するように指示:Ninject .ToFactory:例外:「例外がスロー: 『Ninject.ActivationException』をNinject.dllに」
this.Bind<IModelFactory>().ToFactory().InSingletonScope();
このファクトリインタフェースで、私は工場を定義します:
interface IModelFactory
{
MyClass CreateMyClassFactory(string param1, DateTime param2);
}
私は、新しいクラスを作成するために工場を使用しようとする:
Class myClass = modelFactory.CreateMyClassFactory(param1, new DateTime(2017,01,01);
を...しかし、それは投げますSこの例外:スロー
例外:「Ninject.ActivationException」Ninject.dllに
追加情報:エラー活性化文字列
一致するバインディングが用意されていない、とタイプが自己バインド可能ではありません。
アクティベーションパス:依存列の
2)インジェクションタイプのMyClass
1のコンストラクタのパラメータのタイトルに)HedgeOrderMyClass
提案依頼:
1)あなたが持っていることを確認してくださいstringのバインディングを定義しました。
2)バインディングがモジュールで定義されている場合は、モジュールがカーネルにロードされていることを確認してください。
3)誤って複数のカーネルを作成していないことを確認してください。
4)コンストラクタ引数を使用する場合は、パラメータ名がコンストラクタのパラメータ名と一致することを確認してください。
5)自動モジュールロードを使用している場合は、検索パスとフィルタが正しいことを確認してください。
[ここ](https://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=100)で詳細に説明されているように、工場の抽象化を最初から防ぎます。 – Steven