2

私は依存性注入を使用するのが初めてで、Ninject を試しています。Ninject Factory の機能を調べていると、あることに戸惑いました。

https://github.com/ninject/ninject.extensions.factory/wiki/Factory-interfaceから、

public class Foo
{
    readonly IBarFactory barFactory;

    public Foo(IBarFactory barFactory)
    {
        this.barFactory = barFactory;
    }

    public void Do()
    {
        var bar = this.barFactory.CreateBar();
        ...
    }
}

public interface IBarFactory
{
    Bar CreateBar();
}

を使用してバーを作成できます

       var bar = this.barFactory.CreateBar();

しかし、Foo のインスタンスを作成するには、どのようなアプローチをとるべきでしょうか?

4

1 に答える 1

3

kernel.Get<>()アプリケーションのコンポジション ルートで1 つだけ実行する必要があります。

于 2012-06-14T09:04:35.027 に答える