C#的PropertyInfo類別用於反射一個類別的屬性訊息,包括屬性名稱、資料類型、存取修飾符等,使用PropertyInfo類,可以在執行時間動態地取得和設定類別的屬性值。
C#的PropertyInfo類別用於反射一個類別的屬性信息,包括屬性名稱、資料類型、存取修飾符等。
以下是PropertyInfo類別的主要成員:
Name:取得或設定屬性名稱。
DeclaringType:取得定義該屬性的類別的類型。
PropertyType:取得屬性的資料型態。
IsStatic:取得一個值,指示該屬性是否為靜態屬性。
CanRead:取得一個值,指示該屬性是否可讀。
CanWrite:取得一個值,指示該屬性是否可寫入。
GetValue(Object):傳回指定物件上此屬性的值。
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中文網其他相關文章!