mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-13 15:42:50 +08:00
29 lines
699 B
C#
29 lines
699 B
C#
using Spectre.Console;
|
|
using Spectre.Console.Cli;
|
|
|
|
namespace Demo.Utilities;
|
|
|
|
public static class SettingsDumper
|
|
{
|
|
public static void Dump(CommandSettings settings)
|
|
{
|
|
var table = new Table().RoundedBorder();
|
|
table.AddColumn("[grey]Name[/]");
|
|
table.AddColumn("[grey]Value[/]");
|
|
|
|
var properties = settings.GetType().GetProperties();
|
|
foreach (var property in properties)
|
|
{
|
|
var value = property.GetValue(settings)
|
|
?.ToString()
|
|
?.Replace("[", "[[");
|
|
|
|
table.AddRow(
|
|
property.Name,
|
|
value ?? "[grey]null[/]");
|
|
}
|
|
|
|
AnsiConsole.Write(table);
|
|
}
|
|
}
|