今天開發中遇到乙個問題,乙個model有80多個屬性(字段),現需要給這些屬性賦值。如果使用判斷取一一匹配的話,估計需要幾百行**。那麼有沒有很好的辦法能夠自動匹配屬性並賦值呢?
答案肯定是有的——反射遍歷屬性。
我這裡建了乙個控制太應用程式進行測試,並建了乙個student的model類,並給了3個字段。
student
/// /// 測試用的model,暫且給他3個字段
///
public class student
public int age
public string classname
}
獲得student物件屬性名稱
propertyinfo propertys = student.gettype().getproperties();//獲得student物件的所有屬性
我們來測試一下陣列propertys中有沒有存下物件的屬性
通過遍歷propertys陣列列印,可以看到陣列的長度為3,屬性的名字和資料型別也正好與student中的屬性一致。
在開發中我們致需要獲得物件屬性的名稱,並不需要屬性的資料型別。
通過getvalue()方法取出物件屬性的值
通過setvalu()方法給物件賦值
反射獲得物件的值
反射獲得物件指定name的值 用途 用於繫結資料物件支援廣泛的型別 1 datarow中列name 2 鍵值集合中的name 3 字典資料中name 4 類的name欄位 類支援子類 獲取物件中指定name的值 datarowview和實體類物件 欄位或類成員 public static objec...
反射獲得物件的值
反射獲得物件指定name的值 用途 用於繫結資料物件支援廣泛的型別 1 datarow中列name 2 鍵值集合中的name 3 字典資料中name 4 類的name欄位 類支援子類 獲取物件中指定name的值 datarowview和實體類物件 欄位或類成員 public static objec...
利用反射獲得物件的屬性值
命名空間 system.reflection 程式集 mscorlib 在 mscorlib.dll 中 c 利用反射,遍歷獲得乙個類的所有屬性名,以及該類的例項的所有屬性的值 總結 對應某個類的例項化的物件tc,遍歷獲取所有屬性 子成員 的方法 採用反射 type t tc.gettype 獲得該...