我正在尝试构建自己的控制容器反转。现在我将对象及其类型存储在字典中,并在被询问时解析引用。但我想让解析引用或新实例成为可能。我可以使用 Activator 类创建一个新实例。但是,如果要解析的对象的构造函数接受 1、2 或任何参数怎么办?
例如,我希望能够这样说:
Container.register<IFoo>(new Foo(Proxy));
Container.register<IBar>(new Boo(Proxy, DataThing));
并像解决它
IFoo MyFoo = Resolver.resolve<IFoo>();
IBar MyBar = Resolver.resolve<IBar>();
其中 MyFoo 使用给定参数Proxy和 MyBar 与Proxy和DataThing实例化。
决心必须做什么才能做到这一点?