我有以下代碼使用lightcore IoC容器。 但是它失敗了,因爲「NUnit.Framework.AssertionException:包含的對象是平等的」,它表明應該是瞬態的對象不是。Lightcore IoC返回相同的實例時,它應該給一個新的
這是一個在光線中的錯誤,還是我做錯了?我的德語不夠好,無法閱讀文檔。
[Test]
public void JellybeanDispenserHasNewInstanceEachTimeWithDefault()
{
var builder = new ContainerBuilder();
builder.DefaultControlledBy<TransientLifecycle>();
builder.Register<IJellybeanDispenser, VanillaJellybeanDispenser>();
builder.Register<SweetVendingMachine>().ControlledBy<TransientLifecycle>();
builder.Register<SweetShop>();
IContainer container = builder.Build();
SweetShop sweetShop = container.Resolve<SweetShop>();
SweetShop sweetShop2 = container.Resolve<SweetShop>();
Assert.IsFalse(ReferenceEquals(sweetShop, sweetShop2), "Root objects are equal");
Assert.IsFalse(ReferenceEquals(sweetShop.SweetVendingMachine, sweetShop2.SweetVendingMachine), "Contained objects are equal");
Assert.IsFalse(ReferenceEquals(sweetShop.SweetVendingMachine.JellybeanDispenser, sweetShop2.SweetVendingMachine.JellybeanDispenser), "services are equal");
}
看起來像如果您閱讀文檔,請聯繫我。你直接解決的對象是瞬態的,這些對象的屬性似乎不是... – 2010-06-12 20:44:35
也許你可以直接聯繫作者:http://www.peterbucher.ch/kontakt.aspx。我從來沒有使用過LightCore,所以我不能再幫你了。 – 2010-06-13 07:22:50