比方说我有:
public class Item
{
public string SKU {get; set; }
public string Description {get; set; }
}
....
Run Code Online (Sandbox Code Playgroud)
在.NET中是否有一个内置方法可以让我获取i类型变量的属性和值,Item如下所示:
{SKU: "123-4556", Description: "Millennial Radio Classic"}
Run Code Online (Sandbox Code Playgroud)
我知道.ToString()可以重载以提供此功能,但我不记得这是否已在.NET中提供.
您作为示例描述的格式看起来很像JSON,因此您可以使用JavaScriptSerializer:
string value = new JavaScriptSerializer().Serialize(myItem);
Run Code Online (Sandbox Code Playgroud)
如果它不是你正在使用的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);
}
}
Run Code Online (Sandbox Code Playgroud)
与提供的,你应该有proper get和set到位的properties要共事.