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

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

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

我有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);

所属标签

可能回答问题的人

  • 红双喜经典VS中华

    1 粉丝0 提问8 回答
  • 杰西

    5 粉丝1 提问4 回答
  • 浮生长恨欢娱少

    个人站长 · 站长 (已认证)

    51 粉丝2 提问4 回答
  • 滑稽园扛把子

    Swoole Inc · PHP工程师 (已认证)

    135 粉丝0 提问4 回答

扫码关注云+社区