首頁 >後端開發 >C#.Net教程 >C#中的PropertyInfo類

C#中的PropertyInfo類

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌原創
2024-01-17 14:46:35886瀏覽

C#的PropertyInfo類別用於反射一個類別的屬性訊息,包括屬性名稱、資料類型、存取修飾符等,使用PropertyInfo類,可以在執行時間動態地取得和設定類別的屬性值。

C#中的PropertyInfo類

C#的PropertyInfo類別用於反射一個類別的屬性信息,包括屬性名稱、資料類型、存取修飾符等。

以下是PropertyInfo類別的主要成員:

  1. Name:取得或設定屬性名稱。

  2. DeclaringType:取得定義該屬性的類別的類型。

  3. PropertyType:取得屬性的資料型態。

  4. IsStatic:取得一個值,指示該屬性是否為靜態屬性。

  5. CanRead:取得一個值,指示該屬性是否可讀。

  6. CanWrite:取得一個值,指示該屬性是否可寫入。

  7. GetValue(Object):傳回指定物件上此屬性的值。

  8. SetValue(Object, Object):設定指定物件上此屬性的值。

使用PropertyInfo類,可以在執行時動態地取得並設定類別的屬性值。例如,可以透過以下方式取得屬性值:

PropertyInfo propertyInfo = typeof(Person).GetProperty("Name");
string name = (string)propertyInfo.GetValue(person);

上述程式碼使用typeof運算子取得Person類別的Type對象,並透過GetProperty方法取得Name屬性的PropertyInfo物件。然後使用GetValue方法取得person物件的Name屬性值,並將其強制轉換為string類型。

另外,也可以使用SetValue方法設定屬性值,例如:

PropertyInfo propertyInfo = typeof(Person).GetProperty("Age");
propertyInfo.SetValue(person, 18);

上述程式碼使用GetProperty方法取得Age屬性的PropertyInfo對象,並使用SetValue方法將person物件的Age屬性值設定為18。

以上是C#中的PropertyInfo類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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