ConfigurationPrintTreeExtensions
ConfigurationPrintTreeExtensions.VisitTree(configuration, section, depth, format) visits each line in configuration tree.
// Key-Values
Dictionary<string, string?> map = new Dictionary<string, string?>
{
{ "Car:License", "XYZ-123" },
{ "Car:PreviousOwners:0", "Donald" },
{ "Car:PreviousOwners:1", "Mickey" },
{ "Car:PreviousOwners:2", "Goofy" },
};
// Create configuration
IConfiguration configuration = new ConfigurationBuilder()
.AddInMemoryCollection(map)
.Build();
// Visit each line
foreach (var line in configuration.VisitTree())
Console.WriteLine(line);
ConfigurationPrintTreeExtensions.PrintTree(configuration, output, section, depth, format) outputs to string.
string print = configuration.PrintTree();
Console.WriteLine(print);
ConfigurationPrintTreeExtensions.PrintTreeTo(configuration, output, section, depth, format) outputs tree to TextWriter or StringBuilder.
configuration.PrintTreeTo(Console.Out);
└── Car
├── License = XYZ-123
└── PreviousOwners
├── 0 = Donald
├── 1 = Mickey
└── 2 = Goofy
Full Example
Full example
using Avalanche.Configuration;
using Microsoft.Extensions.Configuration;
public class printtree
{
public static void Run()
{
{
// <01>
// Key-Values
Dictionary<string, string?> map = new Dictionary<string, string?>
{
{ "Car:License", "XYZ-123" },
{ "Car:PreviousOwners:0", "Donald" },
{ "Car:PreviousOwners:1", "Mickey" },
{ "Car:PreviousOwners:2", "Goofy" },
};
// Create configuration
IConfiguration configuration = new ConfigurationBuilder()
.AddInMemoryCollection(map)
.Build();
// Visit each line
foreach (var line in configuration.VisitTree())
Console.WriteLine(line);
// </01>
// <02>
string print = configuration.PrintTree();
Console.WriteLine(print);
// </02>
// <03>
configuration.PrintTreeTo(Console.Out);
// </03>
}
}
}