ConfigurationRootExtensions
Extension methods for IConfigurationRoot.
using System.Linq;
using System.Text;
namespace Microsoft.Extensions.Configuration
{
public static class ConfigurationRootExtensions
{
public static string GetDebugView(this IConfigurationRoot root)
{
<>c__DisplayClass0_0 <>c__DisplayClass0_ = default(<>c__DisplayClass0_0);
<>c__DisplayClass0_.root = root;
StringBuilder stringBuilder = new StringBuilder();
<GetDebugView>g__RecurseChildren|0_0(stringBuilder, <>c__DisplayClass0_.root.GetChildren(), "", ref <>c__DisplayClass0_);
return stringBuilder.ToString();
}
private static (string Value, IConfigurationProvider Provider) GetValueAndProvider(IConfigurationRoot root, string key)
{
foreach (IConfigurationProvider item in root.Providers.Reverse()) {
if (item.TryGet(key, out string value))
return (value, item);
}
return (null, null);
}
}
}