我如何从字符串表示中获得泛型类型?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

我有MyClass<T>

然后我有这个string s = "MyClass<AnotherClass>";。我怎样才能从字符串中获取类型s

提问于
用户回答回答于

泛型格式是名称,字符,类型参数的数量,后面跟着括号中逗号分隔的类型列表:

Type.GetType("System.Collections.Generic.IEnumerable`1[System.String]");

用户回答回答于

查看Activator.CreateInstance- 你可以用一个类型来调用

Activator.CreateInstance(typeof(MyType))

或者使用程序集和string类型名称

Activator.CreateInstance("myAssembly", "myType")

这会给你一个你需要的类型的实例。

如果需要Type而不是实例,使用Type.GetType()方法,例如::

string s = "System.Text.StringBuilder";
Type myClassType = Type.GetType(s);

扫码关注云+社区