Ok, así que al principio pensé que esto era bastante fácil, y tal vez lo es y estoy demasiado cansado, pero esto es lo que estoy tratando de hacer. Decir que tengo los siguientes objetos:Obtiene recursivamente propiedades y propiedades secundarias de un objeto
public class Container
{
public string Name { get; set; }
public List<Address> Addresses { get; set; }
}
public class Address
{
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public List<Telephone> Telephones { get; set; }
}
public class Telephone
{
public string CellPhone { get; set; }
}
Lo que necesito para ser capaz de hacer, es 'aplanar' nombres de propiedades Contenedores en una cadena (incluyendo todas las propiedades secundarias y propiedades niño de propiedades secundarias) que sería algo de esta manera:
Container.Name, Container.Addresses.AddressLine1, Container.Addresses.AddressLine2, Container.Addresses.Telephones.CellPhone
¿Tiene sentido? Parece que no puedo envolverlo en mi cabeza.
Tienes que tener en claro cómo determinarás qué es una propiedad infantil. Aquí está asumiendo que el tipo List se aplanará como tipo T. Qué pasa si hay una propiedad pública Telephone Number {get; conjunto; } (en lugar de una lista )? ¿Sería eso manejado de manera diferente? ¿Sus propiedades serán siempre tipos primitivos o List donde T es un tipo complejo? –
mellamokb
posible duplicado de [Clases anidadas y recursión] (http://stackoverflow.com/questions/811098/nested-classes-and-recursion) – nawfal