9
Bu soruya dayanarak: Should thoses kind of service go injected in a base class ? (versus static classes).Bağlama, Ninject kullanılarak dekoratörlerle nasıl yapılır?
Bağlama, Ninject kullanarak dekoratörlerle nasıl yapılır? veya herhangi bir DIContainer?
public class CachedLoggedRepository : IRepository
{
public IRepository repository { get; set; }
void Add();
}
public class CachedRepository : IRepository
{
public IRepository repository { get; set; }
void Add();
}
public class Repository : IRepository
{
void Add();
}
sayesinde koşullu bağları kullanmak zorunda. – Rushino
+1 Ve bazı (çok daha nadir) durumlarda, jenerik tabanlı bir 'TImpl' kullanıyor olabilirsiniz, bu durumda '>()' a bağlayabilirsiniz. Yukarıdaki gibi () 'ye - içine enjekte edilen beton tipinin temel jenerik tipine dayanan, biraz farklı bir ".When" maddesini [kısıtlar] (https://github.com/ninject/ninject/wiki/Contextual-Binding) kullanın. Akılda tutulması gereken bir diğer yararlı şey ise, ihtiyacınız olan şeyden biraz farklı bir şeye ihtiyacınız olduğunu fark ederseniz, Ninject kaynağını bulup, bunları bulmak için dosyalar/statik analizleri bulmanızdır - örn. 'InInjectedInto' –
' a bakın Sözleşmeyle çoklu bağımlılıkları yapılandırmak istediğinizde bu nasıl yapılabilir? – Rookian