C# 添加到工厂的简单喷油器参数
为了简洁起见,我将使用一些简短的通用命名约定。如果我有:C# 添加到工厂的简单喷油器参数,c#,asp.net,dependency-injection,inversion-of-control,C#,Asp.net,Dependency Injection,Inversion Of Control,为了简洁起见,我将使用一些简短的通用命名约定。如果我有: public class Factory : IFactory { private readonly string dbConnection; public Factory(string dbConnection) { this.dbConnection= dbConnection; } public IDataContext Create() => new D
public class Factory : IFactory
{
private readonly string dbConnection;
public Factory(string dbConnection)
{
this.dbConnection= dbConnection;
}
public IDataContext Create() => new DataContext(dbConnection);
}
Factory
类有一个由构造函数设置的字段。简单喷油器如何支持该参数的传递?如果您实施:
public class Service
{
private IFactory Factory { get; }
public Service(IFactory factory)
{
Factory = factory;
}
public void Save()
{
using(var context = Factory.Create())
context.Insert(...);
}
}
在初始化或实例化参数时,该参数从未实际传递给或通过工厂
。注册依赖项时,看起来不可能:
ContainerFactory.Register<IFactory, Factory>(Lifestyle.Transient);
ContainerFactory.Register(lifesture.Transient);
我正在研究IEventHandler
接口,它是简单注入器的一部分,看起来它可以解决这个问题,但在这个实例中,您应该如何传递参数?container.RegisterSingleton(新工厂(“constr”);
container.RegisterSingleton<IFactory>(new Factory("constr"));
集装箱。登记单(新工厂(“施工”);
我来看看。我来看看。