我有一个 DI 容器,我想通过 DI 容器将参数传递给构造函数。
IE,
public interface IPerson { }
public class Person : IPerson {
private int _personId;
Person() { _personId = 0; }
Person(int id) { _personId = id; }
}
...
Container.Register(Component.For<IPerson>().ImplementedBy<Person>().Lifestyle.Transient);
...
//Person is already available
Container.Resolve<Person>(55);
//Person is not available
Container.Resolve<Person>();
这基本上是我想做的。有时我需要创建一个新类,有时我已经有了可用的类。请问我该如何实现?
我曾认为我可以使用动态参数,但我不确定如何使用。
先感谢您。
工厂模式将使解决方案变得优雅,然而,这给我的应用程序增加了一堆复杂性,而所需要的只是一个非常简单的解决方案,它也可以正常工作。
在我自己中传递一个整数比编写整个工厂来完成同样的工作要容易得多。