0

我想取一个字符串并根据字符串中记录的“类型”创建一个类型化的列表。例如,假设 str 是“System.string”。我想要为我创建列表的方法。当然,字符串可以包含“引用”程序集中任何对象的文本。我没有成功尝试以下方法:

    Type classType = Type.GetType(str);
    List<classType> wgList = new List<classType>();

我收到一条消息,指出“classType 是一个字段,但用作类型”..

我该如何解决这个问题以获得我需要的东西?

以下代码提供了一个很好的解决方案:

 Type ty = Type.GetType(ItemType); 
 wgList = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(ty));    
4

1 回答 1

0

你不能那样做,或者我不明白你的目的是什么?

请改用 List<object>。

您可以在 System.Linq 命名空间中使用 Extension 方法 is Cast<T>() 将您的 List<object> 转换为 List<T>。

List<Entry> entries = wgList.Cast<Entry>().ToList()
于 2012-12-03T03:48:14.457 回答