При использовании lightinject есть ли способ использовать строковое значение из внешнего файла конфигурации, чтобы указать контейнеру зарегистрировать службу, как указано в файле? Это будет файл xml или файл web.config.
Например, в предыдущем проекте в моем web.config у меня была бы следующая строка
<add key="PersonRepository.Interface.IPersonRepository" value="PersonRepository.Db.DbRepository,
PersonRepository.Db, Version=1.0.0.0, Culture=neutral"/>
Я мог бы получить значение через вызов WebConfigurationManager. Этот пример получает конкретное имя класса PersonRepository.Db.DbRepository в виде строки, которую затем можно использовать для разрешения зависимости. Это метод, который я использовал в прошлом, но не могу понять, как сделать то же самое с lightinject. Это возможно?
Извините, если это немного запутанно, это мой первый правильный набег на внедрение зависимостей.
Большое спасибо.
И снова здравствуйте. Я пытался пару дней реализовать метод, как вы описали, и это не сработало. Чтобы продемонстрировать это кратко;
var myString = "hello";
Type stringType = Type.GetType(myString);
container.Register<ICloneable, stringType>();
Я получаю сообщение об ошибке от компилятора 'stringType' является переменной, но используется как тип.
После дальнейшего чтения здесь;
Как использовать typeof или GetType() в качестве универсального шаблона? а>
Кажется, это ограничение языка. Есть какие-нибудь мысли, пожалуйста? Большое спасибо.