萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 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; }

  }

copyright © 萬盛學電腦網 all rights reserved