我有
interface ITestInterface<TSource,TDestination>
我想要
void TestFunction(Type t1, Type t2)
{
var x = typeof(ITestInterface<t1, t2>)
}
genericMethod.Invoke之间有什么区别(this,null) 和调用方法直接,即TestFunction(typeof(Emp),typeof(Dept))。 所以我可以改变功能
void TestFunction<TSource, TDestination>()
{
var x = typeof(ITestInterface<TSource, TDestination>)
}
答案 0 :(得分:2)
您可以使用MakeGenericType
方法构建泛型类型:
var x = typeof(ITestInterface<,>).MakeGenericType(t1, t2);
第一个(typeof(ITestInterface<t1, t2>)
)无效,因为您传递了两个类型实例,其中type
是预期的。他们不一样。泛型是静态类型的,您不能将类型实例指定为泛型参数。