无法使用多个泛型类型获取接口/类的类型
本文关键字:取接口 类型 获取 泛型类型 | 更新日期: 2023-09-27 18:00:32
给出下面的示例代码,有人能解释为什么第一个typeof()
调用成功,但第二个调用失败吗??不管它们是类还是接口,无论哪种方式都会失败。
interface ITestOne<T1>
{
T1 MyMethod();
}
interface ITestMany<T1, T2>
{
T1 MyMethod(T2 myParameter);
}
void Main()
{
var typeOne = typeof(ITestOne<>); //This line works
var typeTwo = typeof(ITestMany<>); //Compile error
}
您需要让编译器知道您正在寻找具有两个泛型参数的泛型类型。在尖括号之间添加逗号:
var typeTwo = typeof(ITestMany<,>);