2016-12-13 9 views
1

簡潔にするために、いくつかの簡潔で一般的な命名規則を使用します。私が持っている場合:工場に追加された単純なインジェクタパラメータ

public class Factory : IFactory 
{ 
    private readonly string dbConnection; 
    public Factory(string dbConnection) 
    { 
      this.dbConnection= dbConnection; 
    } 

    public IDataContext Create() => new DataContext(dbConnection); 
} 

Factoryクラスは、コンストラクタで設定されているフィールドを、持っています。 Simple Injectorはそのパラメータの受け渡しをどのようにサポートしていますか?あなたが実装すると:それは初期化またはインスタンス化されるとき

public class Service 
{ 
    private IFactory Factory { get; } 
    public Service(IFactory factory) 
    { 
     Factory = factory; 
    } 

    public void Save() 
    { 
      using(var context = Factory.Create()) 
       context.Insert(...); 
    } 
} 

パラメータは、実際にまたはFactoryを通過されることはありません。

ContainerFactory.Register<IFactory, Factory>(Lifestyle.Transient); 
私は IEventHandlerインターフェイスに探していた

、それは離れて、それがこの問題に対処するだろうように見えるシンプルインジェクタのですが、どのようにしていることである:あなたが依存関係を登録すると、可能である見えませんこのインスタンスでパラメータを渡すはずですか?

答えて

0
container.RegisterSingleton<IFactory>(new Factory("constr")); 
+0

私は見ていきます。 – Greg

関連する問題