【发布时间】:2017-04-19 09:01:37
【问题描述】:
我有以下代码:
interface IParent
{ }
class Parent1 : IParent
{
public Parent1 (Document doc)
{
}
}
class Parent2 : IParent
{
public Parent2 (Document doc)
{
}
}
我的统一容器配置如下:
Container.RegisterType<IParent, Parent1>("Parent1");
Container.RegisterType<IParent, Parent2>("Parent2");
我正在尝试通过将 Document 的实例传递给其构造函数来解析 IParent 对象(类型为 Parent1 或 Parent2):
string parent = "Parent1";
IParent parent = Container.Resolve<IParent>(parent, new ParameterOverride("Document", doc));
这对我不起作用。使用调试器进入上述行,我进入构造函数,但 Document 为空。也就是说,它看起来像是一个新的 Document(),而不是我在调用 Resolve 时传入的实际文档。
我的问题是如何传入一个 doc 实例来解析一个具体类型的 IParent?
干杯,
【问题讨论】:
标签: c# dependency-injection unity-container