是否有内置的.NET方法来获取对象的所有属性和值?
假设我有:
public class Item { public string SKU {get; set; } public string Description {get; set; } } ....
.NET中是否有内置方法可以让我获取类型为Item
变量i
的属性和值,如下所示:
{SKU: "123-4556", Description: "Millennial Radio Classic"}
我知道.ToString()
可以重载以提供这种function,但我不记得这是否已经在.NET中提供。
您作为示例描述的格式看起来很像JSON ,因此您可以使用JavaScriptSerializer :
string value = new JavaScriptSerializer().Serialize(myItem);
如果它不是你正在使用的JSON,而只是普通的C#类,那么就可以使用System.Reflection命名空间了
类似的东西会起作用
Item item = new Item(); foreach (PropertyInfo info in item.GetType().GetProperties()) { if (info.CanRead) { // To retrieve value object o = info.GetValue(myObject, null); // To Set Value info.SetValue("SKU", "NewValue", null); } }
提供,您应该proper
get
和set
您想要工作的properties
。
XMLSerializer也可以运行: http : //msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx
您可以使用JSON库,例如JSON.NET或内置的JavaScriptSerializer 。