簡體   English   中英

是否有內置的.NET方法來獲取對象的所有屬性和值?

[英]Is there a built-in .NET method for getting all of the properties and values for an object?

比方說我有:

public class Item
{
    public string SKU {get; set; }
    public string Description {get; set; }
}

....

.NET中是否有內置方法可以讓我獲取類型為Item變量i的屬性和值,如下所示:

{SKU: "123-4556", Description: "Millennial Radio Classic"}

我知道.ToString()可以重載以提供這個功能,但我不記得是否已經在.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 getset您想要工作的properties

您可以使用JSON庫,例如JSON.NET或內置的JavaScriptSerializer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM