想起来研究下简单的反射,然后就在网上找了点资料,也找了点代码,大致如下:
public static void PrintProperties<T>(T t) { if (t == null) { return; } PropertyInfo[] properties = t.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); if (properties.Length <= 0) { return; } foreach (PropertyInfo item in properties) { string name = item.Name; object value = item.GetValue(t, null); if (item.PropertyType.IsValueType || item.PropertyType.Name.StartsWith("String")) { Console.WriteLine("{0}:{1}", name, value); } else { foreach (PropertyInfo itemsub in value.GetType().GetProperties()) { PrintProperties(value); } } } }