這篇文章主要介紹了C#中使用反射遍歷一個對象屬性及值的小技巧,這在很時候應該都非常有用,本文直接給出實例代碼,需要的朋友可以參考下
總結:
對應某個類的實例化的對象tc, 遍歷獲取所有屬性(子成員)的方法(采用反射):
代碼如下:
Type t = tc.GetType();//獲得該類的Type
//再用Type.GetProperties獲得PropertyInfo[],然後就可以用foreach 遍歷了
foreach (PropertyInfo pi in t.GetProperties())
{
object value1 = pi.GetValue(tc, null));//用pi.GetValue獲得值
string name = pi.Name;//獲得屬性的名字,後面就可以根據名字判斷來進行些自己想要的操作
//獲得屬性的類型,進行判斷然後進行以後的操作,例如判斷獲得的屬性是整數
if(value1.GetType() == typeof(int))
{
//進行你想要的操作
}
}
注意:
必須要設置了get 和set方法的屬性,反射才能獲得該屬性
代碼如下:
public int Pid
{
get { return pid; }
set { pid = value; }
}