C#获取泛型类型<;T>;给定T
我在C#中有一个泛型类,如下所示:C#获取泛型类型<;T>;给定T,c#,generics,types,C#,Generics,Types,我在C#中有一个泛型类,如下所示: public class GenericClass<T> { ... } var instance = Activator.CreateInstance(wantedType, new Object[] { ...params }); 显然,这种语法不起作用,但我该怎么做呢?typerequiredt=myobject.GetType(); Type requiredT = myobject.GetType(); Type generic
public class GenericClass<T> { ... }
var instance = Activator.CreateInstance(wantedType, new Object[] { ...params });
显然,这种语法不起作用,但我该怎么做呢?typerequiredt=myobject.GetType();
Type requiredT = myobject.GetType();
Type genericType = typeof(GenericClass<>);
Type wantedType = genericType.MakeGenericType(requiredT);
类型genericType=typeof(GenericClass);
类型wantedType=genericType.MakeGenericType(requiredT);
是的,您可以:
Type requiredT = ...
Type genericType = typeof(GenericClass<>);
Type wantedType = genericType.MakeGenericType(requiredT);
Type wantedType=typeof(GenericClass)。MakeGenericType(requiredT);
var instance = Activator.CreateInstance(wantedType, new Object[] { ...params });
Type wantedType = typeof(GenericClass<>).MakeGenericType(requiredT);