这不是Type
能够提供的吗?有其他方法可以实现以下目标吗?
Type t = typeof(Int32);
List<t> list = new List<t>();
根据文档中提到的内容,这对我来说似乎是有效的用法:
表示类型声明:类类型、接口类型、数组类型、值类型、枚举类型、类型参数、泛型定义,以及开放或封闭构造的通用类型
但我觉得这是一个更好的描述,这意味着我不能像上面那样使用类Type
,因为它似乎只保存有关类型的信息:
Type描述数据类型。它将类型信息存储在变量中,属性或字段。Type类表示程序的元数据,这是对其结构的描述,而不是对执行。
我试图使用上面的内容来解决一个问题,即我有一个"列表",其中t
是用户定义的类型,该列表存储在类型为object
的字段中。稍后我需要将其解析回其原始类型。我希望Type
类将允许我保留该类型,以便稍后解析回原始类型。
我在追求这样的东西:
public IList ObjectToList(Type t, object o)
{
return new List<t>(o);
}
它不是一个有效的用法,因为它不会编译。Type类表示类型声明。Type t = typeof(Int32);
将为Int32
提供System.Type
对象,并分配给变量t
。它实际上不能用作类型。
不能将运行时变量用作类型标识符。
Type t = typeof(Int32);
在变量t
中实际持有Int32
的类型
您可以使用它
List<Int32> list = new List<Int32>();