这是Type类的无效用法吗

  • 本文关键字:用法 无效 Type 这是 c#
  • 更新时间 :
  • 英文 :


这不是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>();   

最新更新