8

ninject フレームワークを使用しています。私のコードには、Lazy オブジェクトがあります。インスタンスを作成できますが、value プロパティを呼び出すと例外が発生します。

 private Lazy<IPsoriasisReportUserControl> psoriasisReportUserControl;

[Inject]
    public Lazy<IPsoriasisReportUserControl> PsoriasisReportUserControl
    {
        get { return psoriasisReportUserControl; }
        set { psoriasisReportUserControl = value; }
    }

私は得た

遅延初期化された型には、パラメーターなしのパブリック コンストラクターがありません

インジェクションはメソッドをコンストラクターにインジェクトしないため、例外が発生します。新しいインスタンスを作成するメソッドをバインドする必要があると思います。

4

3 に答える 3

13

Ninject https://github.com/ninject/ninject.extensions.factoryのファクトリー拡張機能を使用する

于 2013-06-12T15:52:42.067 に答える