构造函数的依赖项和参数
本文关键字:参数 依赖 构造函数 | 更新日期: 2023-09-27 18:26:06
我有:
[Dependency]
public qwe property { get; set; }
和:
class qwe
{
public qwe()
{
MessageBox.Show("qwe");
}
public qwe(int x)
{
MessageBox.Show("qwe INT");
}
}
我如何配置Unity,以便当我注册了int时,Unity使用接受int的构造函数创建我的类qwe,但当我还没有注册int值时,Uniti使用零参数的构造函数。
您可以将Unity配置为使用默认构造函数,即接受整数参数的构造函数,也可以声明这样做的工厂函数。
默认c'tor:
container.RegisterType<qwe>(new InjectionConstructor());
带有integer参数的c'tor:
container.RegisterType<qwe>(new InjectionConstructor(myIntValue));
工厂:
container.RegisterType<qwe>(new InjectionFactory(c => (myIntValue > 0) ? new qwe(myIntValue) : new qwe()));