Согласованное связывание аргументов строки конструктора с Ninject
Я использую Ninject в качестве контейнера IoC в моем проекте. У меня есть следующий класс:
public class SomeRepository:ISomeRepository
{
public SomeRepository(string someDatabaseConnectionString)
{
// some code here..
}
}
В моем файле настроек приложения есть строка подключения с именем «someDatabase». По умолчанию следует добавить следующую конфигурацию, чтобы вставить эту строку подключения в конструктор:
kernel.Bind<ISomeRepository>()
.To<SomeRepository>()
.WithConstructorArgument("someDatabaseConnectionString", connString);
Но я хочу реализовать традиционное связывание таких строк. Значения для всех параметров конструктора строкового типа, имена которых заканчиваются на & quot; ConnectionString & quot; должен быть взят из раздела конфигурации applicationStrings и введен автоматически. Я хочу реализовать подобное соглашение для раздела appSettings. Этот подход более подробно описан у Mark Seeman's& quot; Примитивные зависимости & quot; статья (раздел «Соглашения для примитивов»). Контейнер Castle Windsor использовался в примерах.
Можно ли реализовать такие соглашения с помощью Ninject и каков наилучший способ сделать это? Я уже пробовал ninject.extensions.conventions, но, похоже, у него нет такой функциональности, не так ли?