【发布时间】:2010-02-11 23:26:52
【问题描述】:
我正在试用最新版本的 StructureMap,以了解 IoC 容器等。作为我的第一个测试,我有以下课程:
public class Hospital
{
private Person Person { get; set; }
private int Level { get; set; }
public Hospital(Person employee, int level)
{
Person = employee;
Level = level;
}
public void ShowId()
{
Console.WriteLine(this.Level);
this.Person.Identify();
}
}
然后我像这样使用 StructureMap:
static void Main()
{
ObjectFactory.Configure(x =>
{
x.For<Person>().Use<Doctor>();
x.ForConcreteType<Hospital>().Configure.Ctor<int>().Equals(23);
});
var h = ObjectFactory.GetInstance<Hospital>();
h.ShowId();
}
所以我将 Doctor 对象作为第一个构造函数参数传递给 Hospital,我试图将 level 参数设置为 23。当我运行上面的代码时,我得到:
未处理的异常: StructureMap.StructureMapException: StructureMap 异常代码:205 缺少请求的实例属性 InstanceKey 的“级别” “5f8c4b74-a398-43f7- 91d5-cfefcdf120cf"
所以看起来我根本没有设置 level 参数。有人能指出我正确的方向吗?如何在构造函数中设置 level 参数?
干杯。 贾斯。
【问题讨论】:
标签: structuremap