我想知道.Net 中是否有一个内置功能可以(在运行时)输出给定对象中的所有属性和值,如果可能的话,甚至包括子对象。
我正在考虑 Reflection 或XML Serializion并看到一些人提到 JSON,但无法真正弄清楚如何以正确的方式做到这一点......有谁知道这是否可能是.Net中的内置功能或者是否有一个很好的例子/工具,要么已经这样做了,要么可以引导我朝着正确的方向前进?
我想知道.Net 中是否有一个内置功能可以(在运行时)输出给定对象中的所有属性和值,如果可能的话,甚至包括子对象。
我正在考虑 Reflection 或XML Serializion并看到一些人提到 JSON,但无法真正弄清楚如何以正确的方式做到这一点......有谁知道这是否可能是.Net中的内置功能或者是否有一个很好的例子/工具,要么已经这样做了,要么可以引导我朝着正确的方向前进?
使用反射。
要查看对象的所有公共属性和值:
foreach(var prop in obj.GetType().GetProperties()) //note: you can pass in binding flags to GetProperties to get static, private, etc properties
{
var propVal = prop.GetValue(obj);
//prop has information such as Name, PropertyType
//propVal is the value of that property for obj
}
您可以使用XmlSerializer类或查看JSON.Net框架。