C# 如何创建具有多个泛型类型参数的类型

C# 如何创建具有多个泛型类型参数的类型,c#,generics,C#,Generics,我已经搜索了一段时间,但仍然无法找到我的问题的答案,相反,我找到了创建具有多个泛型类型参数的泛型方法的答案 这就是我的问题。我有一个接口IMyInterface,我想将其创建为一个类型。目前我可以为IMyInterface创建如下类型: Type type = typeof(IMyInterface<>).MakeGenericType(genericTypeForMyInterface) Type Type=typeof(IMyInterface)。MakeGenericTyp

我已经搜索了一段时间,但仍然无法找到我的问题的答案,相反,我找到了创建具有多个泛型类型参数的泛型方法的答案

这就是我的问题。我有一个接口
IMyInterface
,我想将其创建为一个类型。目前我可以为
IMyInterface
创建如下类型:

Type type = typeof(IMyInterface<>).MakeGenericType(genericTypeForMyInterface) 
Type Type=typeof(IMyInterface)。MakeGenericType(genericTypeForMyInterface)
如蒙协助,将不胜感激

谢谢:)

接受将用于构造泛型类型的参数。这意味着您可以传递任意数量的参数

所以你可以简单地做

Type type = typeof(IMyInterface<,>).MakeGenericType(type1, type2);
Type Type=typeof(IMyInterface)。MakeGenericType(type1,type2);

注意:对于具有多个泛型类型参数的类型,在角括号之间需要一个逗号(,)。(n)个类型参数需要n-1个逗号。i、 e一个逗号表示两个类型参数,两个逗号表示三个类型参数,依此类推

Type Type=typeof(IMyInterface)。MakeGenericType(type1,type2)?发布显示它不工作的代码。你说的不工作是什么意思?会发生什么?编译器错误?运行时错误?或者..?当IMyInterface有两个泛型时,不允许
typeof(IMyInterface)
types@Arran549更新了我的答案。您需要在角括号内添加逗号。如果仍然不起作用,请解释发生了什么,你得到了什么错误等。非常好-非常感谢这项工作。为你的帮助干杯:)