Para ayudar a depurar algún código en el que estoy trabajando, comencé a escribir un método para imprimir recursivamente los nombres y valores de las propiedades de un objeto. Sin embargo, la mayoría de los objetos contienen tipos anidados y me gustaría imprimir sus nombres y valores también, pero solo en los tipos que he definido.Cómo imprimir recursivamente los valores de las propiedades de un objeto usando la reflexión
He aquí un resumen de lo que tengo hasta ahora:
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's type]);
}
else
{
Console.WriteLine("{0}: {1}", property.Name, property.GetValue(obj, null));
}
}
Las partes entre las llaves están donde no estoy seguro.
Cualquier ayuda será muy apreciada.
posible duplicado de [C#: Impresión de todas las propiedades de un objeto] (http://stackoverflow.com/questions/852181/c-printing-all-properties- of-an-object) –