【发布时间】:2009-01-21 14:05:17
【问题描述】:
我正在尝试构建自己的控制反转容器。现在我将对象及其类型存储在字典中,并在被询问时解析引用。但我想让解析引用或新实例成为可能。我可以使用 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 实例化。
resolve 必须做什么才能实现这一目标?
【问题讨论】:
标签: c# dependency-injection inversion-of-control ioc-container