日期:2014-05-17  浏览次数:20912 次

如何将Object转换成List 或 通过Type实例化List<T>
通过反射拿到对象的一个成员的值 Object fieldValue = fieldInfo.GetValue(Obj)

这个值如果是简单类型的好办 获取成员的TypeCode 直接用convertTo或者强制类转换处理

现在问题来了:

这个值是一个集合List<Class> Class有可能会有很多种  

我现在需要对这个List进行处理

但FieldInfo.GetValue()取回的一个object对象  

如何将这个object转换成List呢? 因为Class会有很多种 所以不可能把强制转换写死  

但我通过(List<Object>)强制转换失败  

请问有什么办法可以实现将object转换成List



或者  

如何通过类名Type来实例化一个List

通过类名实例化一个对象我们可以通过Activator.CreateInstance(Type)实现

那实例化一个List有没有好的方法呢  

谢谢



------解决方案--------------------
直接转换到IList,肯定能成功,List<T>是继承接口IList的,用接口接收你的Object,而那个IList又具有很多List<T>的功能,可以直接遍历成员的。