4
實例當我使用這個註冊:溫莎城堡:UsingFactoryMethod不能與一個奇怪的錯誤
container.Register(
Component
.For<IFooFactory>()
.ImplementedBy<FooFactory>(),
Component
.For<IFoo>()
.UsingFactoryMethod(kernel => kernel.Resolve<IFooFactory>().CreateFoo())
);
我得到這個異常:
Castle.MicroKernel.ComponentRegistrationException:類型MyNamespace.IFoo是抽象。 因此,它是不可能的instansiate它作爲實施MyNamespace.IFoo服務
的我真的不知道是什麼問題。但是堆棧跟蹤顯示,在「DefaultComponentActivator.CreateInstance()」,以下條件成功,然後引發錯誤:
if (createProxy == false && Model.Implementation.IsAbstract)
我需要的一些代理這裏的排序? 註冊是否錯誤?
IFooFactory已註冊。我錯過了對AddFacility()的調用。謝謝! – shovavnik 2009-12-03 15:07:04
請注意,從Windsor 2.5開始不再需要'FactorySupportFacility'(hurray!) – 2011-05-04 17:02:32
非常感謝 - 這讓我瘋狂!我正在使用溫莎的一個更高版本作爲不同的解決方案,並沒有意識到這是溫莎老版本所要求的。 – 2016-09-07 17:31:32