我打算使用Ninject作爲IoC容器,但無法理解如何在構造函數中創建具有多個1參數的類的實例。基本上,我有一個PCL庫認證服務接口及其在構造函數接收cosumer鍵,祕密和baseAddress一個WP8項目實施:具有Ninject多參數的構造函數
//On PCL project
public interface IAuthorizationService {
bool Authenticate();
}
//On WP8 Project
pubilc class MyAuthenticator : IAuthorizationService {
public MyAuthenticator(string consumerKey, string consumerSecret, string baseAddress) { ... }
public bool Authenticate() { ... }
}
現在我需要配置Ninject模塊,所以我可以IAuthorizationService的一個實例。 如果我的班有沒有構造我會做:
internal class Module : NinjectModule {
public override void Load() {
this.Bind<IAuthorizationService>().To<MyAuthenticator>();
}
}
如果它的構造固定值,我會做:
internal class Module : NinjectModule {
public override void Load() {
this.Bind<IAuthorizationService>().To<MyAuthenticator>().WithConstructorArgument(*/* fixed argument here*/*);
}
}
並獲得一個實例Module.Get<IAuthorizationService>()
但什麼如果在編譯時無法解析構造函數參數?如何傳遞參數?綁定代碼應該如何?
編輯爲隱藏問題。
爲什麼downvote?應該至少有評論,所以我可以改變這個問題...... – 2014-09-04 14:25:47
這可能是因爲他們覺得這個問題很容易通過查看文檔來回答:https://github.com/ninject/ninject/wiki/Dependency-Injection- With-Ninject – BatteryBackupUnit 2014-09-06 13:34:20
不,它不是!如果你看看文檔,所有的構造參數也是「可注入的」。我的構造函數有字符串參數。 – 2014-09-08 13:17:05