日期:2014-05-18  浏览次数:20785 次

如何遍历一个类的所有属性
/// <summary>
  /// 标识
  /// </summary>
  public int ID
  {
  set { _id = value; }
  get { return _id; }
  }
  /// <summary>
  /// 用户登陆名
  /// </summary>
  public string UserID
  {
  set { _userid = value; }
  get { return _userid; }
  }

象这些属性,比方一个类有很多,我想遍历所有这些属性,然后判断是string类型的就把字符串连接起来该怎么做

------解决方案--------------------
反射
------解决方案--------------------
C# code

Type t=typeof(类名);
MemberInfo[] members=t.GetMembers();
foreach(MemberInfo nextMember in members)
{
    if(nextMember.DeclaringType==typeof(String) && nextMember.MemberType== MemberTypes.Property)
    //do something
}

------解决方案--------------------
C# code

                Type type=typeof(myclass);
                System.Reflection.PropertyInfo[] pis=type.GetProperties();
                foreach (System.Reflection.PropertyInfo pi in pis)
                {
                    if (pi.GetType().Name == "string")
                    {
                        .....
                    }
                }