Очевидно, вам не нужно явно предоставлять Ninject аргументы конструктора, если зависимые объекты определены в контейнере.Это не похоже на замок.
Вот пример.IGitRepository зависит от IGitAuthor и IGitRepositoryPath.Поскольку эти два иждивенца связаны в моем контейнере, они вводятся «магическим образом»Ninject достаточно умен, чтобы видеть, что конструктор IGitRepository принимает их.Поэтому я просто связываю IGitRepository и опускаю .withConstructorArgument (s).
Bind<IGitRepository>().To<GitRepository>();
Bind<IGitAuthor>().To<GitAuthor>()
.WithConstructorArgument("author", ConfigurationManager.AppSettings["GitAuthor"])
.WithConstructorArgument("email", ConfigurationManager.AppSettings["GitEmail"]);
Bind<IGitRepositoryPath>().To<GitRepositoryPath>()
.WithConstructorArgument("path",ConfigurationManager.AppSettings["GitServerUri"]);