我有一個抽象類:Ninject:針對通用類默認與特定的綁定
public abstract class Validator<T> : IValidator
和一對夫婦的實現這個類用於特定目的的課程,例如
public sealed class NewsValidator : Validator<News>
現在使用Ninject我想要做的依賴注入如下內容(這個特殊的代碼是不工作):
Bind<Validator<News>>().To<NewsValidator>();
Bind(typeof(Validator<>)).To(typeof(NullValidator<>));
所以我想實現的是
Validator<News>
應該綁定到「NewsValidator」類,但是如果請求了此類的其他任何未綁定版本,請說
Validator<Article>
Validator<SomethingElse>
應該綁定到默認的類(NullValidator)。不過,使用上面使用的代碼會拋出一個Exception,因爲它將驗證程序News>既綁定到NewsValidator上,也綁定到NullValidator上。
我該如何實現?泛型類的特定類型應該綁定到單獨的類。所有其他類型的未明確綁定的泛型類都應綁定到默認類。
對於一些建議真的很高興!謝謝!
whoa :)不可思議,那個人的工作就像一個魅力。你怎麼知道的?!即使谷歌搜索「IMissingBindingResolver」時也找不到很多東西。無論如何,這絕對是完美的,非常感謝! – Oliver 2011-06-03 00:26:15