C#通用接口

Cri*_*ios 4 c# generics reflection

我需要将泛型类型参数传递给接口.我有一个名称类型的字符串.

我有这样的事情:

string type = "ClassType";
Type t = Type.GetType("ClassType");

IProvider<t> provider = (IProvider<t>)someObject;
Run Code Online (Sandbox Code Playgroud)

这对我不起作用.这样做的正确方法是什么?谢谢.

Jar*_*Par 8

在C#(和CLR)版本的泛型中,你真正想要做的是什么.指定通用参数时,它必须是......

  • 代码中的具体类型
  • 另一个通用参数

此信息必须绑定在程序集的元数据中.无法以这种方式从元数据中的字符串表达类型名称.

可以在运行时基于字符串名称绑定泛型,但这需要反射.