【发布时间】:2010-11-20 10:24:09
【问题描述】:
我有以下测试代码试图获取一个用于通用实例和另一个用于特殊用途的实例。
[TestMethod]
public void Test_Name_And_Named_Instances()
{
//MyClass implemented IMyClass
MyClass genericInstance = new MyClass("generic");
MyClass specialInstance = new MyClass("special");
IWindsorContainer container = new WindsorContainer();
container.Register(Component.For(IMyClass).Instance(genericInstance));
container.Register(Component.For(IMyClass).Instance(specialInstance).Named("special"));
IMyClass genericOne = container.Resolve<IMyClass>();
IMyClass specialOne = container.Resolve<IMyClass>("special");
Assert.AreSame(genericOne, genericInstance); //true
Assert.AreNotSame(genericOne, specialOne); //false
}
我希望得到两个不同的实例,但结果是 genericOne 和 specialOne 都指向同一个对象 genericInstance。
有什么想法吗?
【问题讨论】:
标签: castle-windsor