我試圖綁定通用的IRepository <>接口到我的通用存儲庫<> - 但它總是返回null?Ninject +綁定通用存儲庫
我曾嘗試過各種東西,如:
Bind(typeof(IRepository<CustomerModel>)).To(typeof(Repository<CustomerModel>));
Bind(typeof(IRepository<>)).To(typeof(Repository<>));
但是,如果我通過在非通用接口和類,那麼它就像一個夢嗎?
我試圖綁定通用的IRepository <>接口到我的通用存儲庫<> - 但它總是返回null?Ninject +綁定通用存儲庫
我曾嘗試過各種東西,如:
Bind(typeof(IRepository<CustomerModel>)).To(typeof(Repository<CustomerModel>));
Bind(typeof(IRepository<>)).To(typeof(Repository<>));
但是,如果我通過在非通用接口和類,那麼它就像一個夢嗎?
Bind(typeof(IRepository<>)).To(typeof(Repository<>));
這是結合開放式泛型正確的語法。
如果您在請求任何>的IR知識庫<時收到回覆,那麼在您沒有共享的代碼區域中可能存在其他問題。
看到我的回答在MVC3 Controller constructor + Ninject。
通用綁定在Ninject中正常工作。嘗試在Repository中使用無參數構造函數。我認爲問題在那裏。
完美! - 是的,你是對的。我的Repository構造函數依賴於一個接口 - 我現在也綁定了我的Repository使用的接口,它工作正常! - 謝謝。 – ebb 2010-12-06 20:37:00