using Configuration.Core; using Microsoft.Extensions.Configuration; namespace Core.Configurations.ConfigurationManager { public static class ConfigurationExtensions { public static T Get(this IConfigurationSection section) where T : class { if (section is JsonConfigurationSection jsonSection) { var token = jsonSection.GetToken(); return token?.ToObject(); } throw new InvalidOperationException("Section is not a JsonConfigurationSection"); } public static T GetValue(this IConfigurationSection section, string key) { if (section is JsonConfigurationSection jsonSection) { var token = jsonSection.GetToken().SelectToken(key.Replace(":", ".")); return token.ToObject(); } throw new InvalidOperationException("Section is not a JsonConfigurationSection"); } } }