通過反射遍歷Model物件獲得屬性與賦值。

2021-09-25 19:31:26 字數 950 閱讀 7947

今天開發中遇到乙個問題,乙個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 獲得該...