以itemno構造類,進行舉例執行。
getvalue獲取值,有兩個過載,一般使用的是兩個引數的,第二個引數是如果選中的model的屬性是列表索引化的話,可以放索引值,不是索引化屬性,則放null
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace ce****ype
; var itemno = new itemno() ;
for (int i = 0; i < colename.length; i++)
的值為:,型別為", colename[i], value, itemnotype.getproperty(colename[i]).propertytype);
}console.readkey();}}
public class itemno
public string name
public string gender
public int age
}}
官方例子中有給出索引屬性的方式
using system;
using system.reflection;
class example
)); }
console.writeline();
}static void showindividualcharacters(propertyinfo pinfo,
object value,
params int indexes)
: ''",
index, pinfo.getvalue(value, new object ));
console.writeline();
}
}
參照著嘗試了一下,如果在itemno類中增加個string test進行測試的話,會報引數計數不準確
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace ce****ype
; var itemno = new itemno() ;
int x = 0;
for (int i = 0; i < colename.length; i++));}
}else
value = convert.tostring(obj);
console.writeline("itemno下:的值為:,型別為", colename[i], value, itemnotype.getproperty(colename[i]).propertytype);
}console.readkey();}}
public class itemno
public string name
public string gender
public int age
public string test
}}
下面這種和官方例子差不多的寫法,倒是正常執行
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace ce****ype
; var itemno = new itemno() ;
for (int i = 0; i < colename.length; i++)
的值為:,型別為", colename[i], value, itemnotype.getproperty(colename[i]).propertytype);
}console.writeline("************************");
string x = "test";
type type = x.gettype();
for (int i = 0; i < x.length; i++)
));}
console.readkey();}}
public class itemno
public string name
public string gender
public int age
}}
type.getproperty("").getvalue(models[i], null);
標籤類
public class tag : modelbase
/// /// 產品標籤名
///
[required(errormessage = "標籤名不能為空")]
public string title
/// /// 該標籤是否顯示
///
public bool isshow
/// /// 排序,初始99
///
public int sortid
public virtual icollectionproducttags
}
var model=new tag();
type type = models[i].gettype();
type.getproperty("title").getvalue(model, null);
根據屬性名獲取相應的值
java利用反射獲取物件類名以及物件屬性名
原本想用來做搜尋的時候用,但是沒用上,所以還是貼出來。這個可以用在迴圈判斷物件的時候比較有用,如下 rr new receiveresume string a rr.getclass tostring string b a.split class cla null try catch classno...
反射獲取物件屬性含list
前言,在大型專案中很少會直接使用form提交表單到後台直接使用的。由於存在多個系統的相互呼叫,為了相容和解耦,通常會使用xml或json傳送資料。在xml轉到service中的pojo類的時候一般會使用到反射,在轉換list屬性的時候,不能直接使用類似targetfield sourcefield的...
反射的方式獲取物件中的屬性及其屬性值
之前一直不知道反射到底能用在 直到我看到了公司oa的考勤表設計 day表示每個月的天數,後面的數字表示每月的幾號,a表示上午,b表示下午。比如day01a用以表示當月1號的出勤情況。所以,這個表用以記錄考勤資料的字段共有62個。後來想用這個每天考勤資料,才發現反射真是個好東西。以三天資料為例 如果要...