2016-12-13 107 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

相關問題