bir Genel sınıf için Varsayılan & spesifik bağlamaları Ninject: Ben soyut bir sınıf var
public sealed class NewsValidator : Validator<News>
Şimdi ben şu gibi Bağımlılık Enjeksiyon yapmak istiyorum Ninject kullanarak (bu özel kod çalışma DEĞİLDİR):
Bind<Validator<News>>().To<NewsValidator>();
Bind(typeof(Validator<>)).To(typeof(NullValidator<>));
Yani ne başarmak istediğinizi
Validator<News>
olduğunu "NewsValidator" sınıfına bağlı olmalıdır, ancak bu sınıfın başka bir bağlı sürümü isteniyorsa,
Varsayılan Sınıf'a (NullValidator) bağlı olması gerekenValidator<Article>
Validator<SomethingElse>
. Yukarıda kullanılan kodun kullanılması, bir istisna atar, çünkü, Validator < Haberler >'i hem NewsValidator hem de NullValidator'a bağlar.
Bunu nasıl uygulayabilirim? Genel sınıfın belirli türleri bireysel sınıflara bağlı olmalıdır. Açıkça bağlı olmayan genel sınıfın diğer tüm türleri, varsayılan bir sınıfa bağlanmalıdır.
Birkaç öneriden gerçekten memnun olurum! Teşekkürler!
whoa :) İnanılmaz, bu bir çekicilik gibi çalışıyor. Bunu nasıl bildin?! Google bile "IMissingBindingResolver" için arama yaparken pek bir şey bulamıyor.Her neyse, bu kesinlikle mükemmel, çok teşekkürler! – Oliver