现在我有一个对象object,里面有一些属性,值也有比如id=1,name=xiaofan,age=3。
我想写个返回List<object>的方法。通过反射把object里面属性和值加到List<object>里面去。该怎么做,有没有具体的列子

解决方案 »

  1.   

    你为什么不直接吧这个对象保存到LIST中去呢?还要保存这个属性和值,使用的时候,你也挺累,不如直接保存这个对象到LIST中呢!
      

  2.   

    var obj = new { id = 1, name = "xiaofan", age = 3 };
    List<string> propertites = obj.GetType().GetPropertites().Select(x => x.Name).ToList();
      

  3.   

    既然是List<T>,那就直接把对象加进去。用反射:
    obj.GetType().GetProperties()获取所有属性
    PropertyInfo[] propertyInfos = obj.GetType().GetProperties();
    foreach (PropertyInfo propertyInfo in propertyInfos)
    {
    Response.Write(propertyInfo.Name + ":" + propertyInfo.GetValue(obj, null) + "<br/>");
    }添加自己做
      

  4.   

    感觉走弯路了,泛型还是强类型的,你都弄成object那不又回到ArrayList了吗