public static IConfigurationCollection <T> AsConfiguration <T>(this ConfigurationProfileModel model) where T : class, IConfigurationCollection <T> { var values = model.Values.Select(v => (v.SectionKey, v.OptionKey, (v.Value, v.Guid))); var valueCollection = ConfigurationValueCollection.MakeExistingValueCollection <T> (values, model.ValueCollectionGuid); return(new ConfigurationCollection <T>(valueCollection)); }
public static IConfigurationSection <T> AsConfigurationSection <T>(this ConfigurationProfileModel model) where T : class { var sectionKey = model.Values.First().SectionKey; var values = model.Values.Select(v => (v.OptionKey, (v.Value, v.Guid, v.ValueType))); var valueCollection = ConfigurationValueCollection.MakeExistingValueCollection <T> (values, sectionKey, model.ValueCollectionGuid); return(new ConfigurationSection <T>(valueCollection, sectionKey)); }