如果我在 C# 中有一个预定义的对象,我如何使用反射循环遍历对象的结构进行打印,使其如下所示:
Class PurchaseOrder
------------------
Property: ID | Type: Int32
Property: Client | Type: Some.Namespace.Client
+---- Property: FirstName | Type: String
+---- Property: LastName | Type: String
+---- Property: Address | Type: Some.Namespace.Address
+---- +---- Property: Line1 | Type: String
Property: Date | Type: DateTime
我想通过对象的结构进行递归(不关心里面的实际数据,只关心属性的名称和类型)。此外,如果它不是基本类型,请继续沿树递归(即对象或列表)。
注意:只有公共成员...
由于某种原因,我似乎无法想象这一点。
这是上面打印的树的 C# 类的样子:
class PurchaseOrder {
public Int32 Id {get;set;}
public Client Client {get;set;}
public DateTime Date {get;set;}
}
class Client {
public string FirstName {get;set;}
public string LastName {get;set;}
public Address Address {get;set}
}
class Address {
public string Line1 {get;set;}
....
}
但是,理想情况下,这适用于任何类型。
在此先感谢您的帮助 :)