Если вы хотите печатать ваши объекты в формате отформатированной строки, вы должны go и переопределить ToString
во всех ваших классах, чтобы вернуть любой формат, который вы хотите.
Однако, если вы просто хотите распечатать вещи на экране для отладки или регистрации, почему бы не JSON?
public static string ToJson(object @object) =>
System.Text.Json.JsonSerializer.Serialize(@object, new JsonSerializerOptions{WriteIndented = true});
Console.WriteLine(ToJson(myMessage));
Печать
{
"message": {
"messageSubject": "Greetings",
"messageBody": "Happy Weekend"
},
"flag": {
"flagImportant": false,
"flagPersonal": true
}
}
Быстро и грязно, но быстро и работает.