如何通过反射获得实体类中List类型的对象的各个属性?!

解决方案 »

  1.   

    你是要List类型对象的属性还是List<T>中T对象的属性,如果是前者,和一般对象的属性获取没有不同,如果是后者,方法上稍后不同,特别是当List中没有任何元素时,没法先获取一个元素来反射。
      

  2.   

    那就需要利用扩展方法,现将T的Type获取到,方法如下:
        public static class Extensions
        {
            public static Type GetListItemType<T>(this IList<T> list)
            {
                return typeof(T);
            }
        }
    注意,扩展方法只有VS2008以上支持。然后你会发现你的List类型对象多了个GetListItemType的方法,该方法用于返回T的类型,有了T的类型,你再反射T的属性就不成问题了。