好吧,起初我认为这很容易,也许它是,我只是太累了 - 但这就是我想要做的。说我有以下对象:递归地获取对象的属性和子属性
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
这是否有任何意义?我似乎无法将它包裹在我的头上。
你必须清楚你将如何确定什么是儿童财产。在这里,你假设列表类型将被扁平化为类型T.如果有一个属性公共电话号码{get;组; }(而不是列表)?这会被区别对待吗?你的属性总是或者是原始类型或者列表其中T是一个复杂类型? –
mellamokb
2010-11-19 01:22:33
[嵌套类和递归]的可能重复(http://stackoverflow.com/questions/811098/nested-classes-and-recursion) – nawfal 2013-04-25 09:12:47