bilgi vardır.
Yani aşağıdaki senaryolardan herhangi birine sahip olabilir: Tek bir hizmeti maruz tek Service aynı uygulama türüyle
container.Register(
Component.For<IFoo>().ImplementedBy<Foo1>(),
Component.For<IFoo>().ImplementedBy<Foo2>()
);
Birçok Bileşenleri maruz farklı uygulama türleri ile
Birçok Bileşenlerinin
container.Register(
Component.For<IFoo>().ImplementedBy<Foo1>(),
Component.For<IFoo>().ImplementedBy<Foo1>().Named("second")
);
Man Mümkün olduğu ve olsun ya da olmasın olacak - Aynı uygulama türüyle y Bileşenleri evet Gördüğünüz gibi farklı Hizmetleri
container.Register(
Component.For<IFoo, Bar>().ImplementedBy<Foo1>()
);
maruz farklı Hizmetleri
container.Register(
Component.For<IFoo>().ImplementedBy<Foo1>(),
Component.For<IBar>().ImplementedBy<Foo1>().Named("second")
);
Tek Bileşen maruz Aynı örneği (singleton varsayarak) seçtiğiniz seçeneği belirtebilirsiniz - her iki Hizmet de aynı Bileşen tarafından açıklanacaktır, ya da değil.
Evet, onları kontrol ettim. İlk mesaj benim sorum ile aynı değil, ikinci yazıdaki hata, eski bir Kale versiyonundan kaynaklanıyor. Testleri içeren gönderinin kod dosyası yararlıdır, sadece bir nesnenin kullanıldığını gösterir. –
Forum gönderisi, –
forum postasının çıkmaz bağlantıya sahip olduğunu; [bu cevap] (http://stackoverflow.com/a/684392/322283) yararlıdır; Krysztof'un cevabı aşağıdadır. – Marijn