首頁 >後端開發 >C++ >如何按名稱動態檢索 C# 中的屬性值?

如何按名稱動態檢索 C# 中的屬性值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-06 17:15:49941瀏覽

How Can I Dynamically Retrieve Property Values in C# by Name?

按名稱檢索屬性值

物件的屬性值可以透過各自的名稱進行訪問,從而實現資料的程式操作和擷取。在某些情況下,需要根據變數屬性名稱動態檢索屬性值。本題探討了實現此類功能的方法。

方法:

下面的 C#方法利用反射依指定屬性取得物件的屬性值名稱:

public string GetPropertyValue(object obj, string propertyName)
{
    return obj.GetType().GetProperty(propertyName).GetValue(obj, null);
}

用法:

從「car」物件擷取「Make」屬性的值:

string make = GetPropertyValue(car, "Make");

實作:

方法的工作原理如下如下:

  1. 確定屬性資訊:對物件類型使用GetProperty 方法,取得屬性的元資料。
  2. 檢索屬性值:對屬性資訊呼叫 GetValue 方法以提取實際值value。
  3. 指定預設參數:GetValue 中的 null 參數表示直接在物件上存取該屬性,不傳遞任何參數。

附加點:

  • 此方法適用於公有與私有屬性,前提是
  • 反射會影響效能,因此請謹慎使用它以獲得最佳效率。
  • 對於更複雜的場景,可以建立自訂實作來處理屬性類型、繼承等。

以上是如何按名稱動態檢索 C# 中的屬性值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn