Итак, сначала я подумал, что это достаточно легко, и, возможно, это так, и я просто слишком устал, но вот что я пытаюсь сделать. Скажем, у меня есть следующие объекты:Рекурсивно Получить свойства и детские свойства объекта
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; }
}
Что мне нужно, чтобы быть в состоянии сделать, это «придавить» Контейнеры имен свойств и строки (включая все дочерние свойства и ребенок свойство дочерних объектов), которые будут выглядеть например:
Container.Name, Container.Addresses.AddressLine1, Container.Addresses.AddressLine2, Container.Addresses.Telephones.CellPhone
В этом смысл? Кажется, я не могу обернуть его вокруг головы.
Вы должны четко понимать, как вы определяете, что такое дочерняя собственность. Здесь вы предполагаете, что тип List будет сплющен как тип T. Что, если бы существовал общественный номер телефона {get; задавать; } (вместо списка )? Будет ли это по-другому? Будут ли ваши свойства всегда быть либо примитивными типами, либо List , где T - сложный тип? –
mellamokb
Возможный дубликат [Вложенные классы и рекурсия] (http://stackoverflow.com/questions/811098/nested-classes-and-recursion) – nawfal