Чтобы помочь в отладке некоторого кода, над которым я работаю, я начал писать метод для рекурсивной печати имен и значений свойств объекта. Однако большинство объектов содержат вложенные типы, и я хотел бы также печатать их имена и значения, но только для типов, которые я определил.
Вот контур того, что у меня есть до сих пор:
public void PrintProperties(object obj)
{
if (obj == null)
return;
Propertyinfo[] properties = obj.GetType().GetProperties();
foreach (PropertyInfo property in properties)
{
if ([property is a type I have defined])
{
PrintProperties([instance of property type]);
}
else
{
Console.WriteLine("{0}: {1}", property.Name, property.GetValue(obj, null));
}
}
Части между фигурными скобками - это то место, где я не уверен.
Любая помощь будет принята с благодарностью.