C#中應用反射遍歷一個對象屬性及值的小技能。本站提示廣大學習愛好者:(C#中應用反射遍歷一個對象屬性及值的小技能)文章只能為提供參考,不一定能成為您想要的結果。以下是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; }
}