public static T Read <T>(IAppSettingsIndex settings, T target, string area = null) { foreach (var prop in typeof(T).GetSettableProperties()) { var key = string.IsNullOrEmpty(area) ? prop.Name : $"{area}:{prop.Name}"; var settingString = settings[key]; if (settingString != null) { var setting = ConvertToType(settingString, prop.PropertyType); prop.SetValue(target, setting); } } return(target); }
public static T Read <T>(IAppSettingsIndex settings, string area = null) where T : new() { return(Read(settings, new T(), area)); }