Я использую Asp.Net Core 2.2 и хочу зарегистрировать экземпляр типа для базового типа.
И в файле запуска я пытаюсь зарегистрировать тип и экземпляр следующим образом:
foreach (var type in typesFromAssemblies)
{
var settings = Activator.CreateInstance(type);
foreach (var prop in type.GetProperties())
{
if (!prop.CanRead || !prop.CanWrite)
{
continue;
}
var key = type.Name + "." + prop.Name;
// load instance from database
var setting = GetSettingByKey<string>(provider, key, loadSharedValueIfNotFound: true);
if (setting == null)
{
continue;
}
object value = CommonHelper.GetMovCustomTypeConverter(prop.PropertyType)
.ConvertFromInvariantString(setting);
// set property
prop.SetValue(settings, value, null);
}
// how I can set "settings" in services?
// services.Add(new ServiceDescriptor(settings.GetType(), settings, lifetime));
}
Как я могу установить «настройки» экземпляра для сервисов?