public class Genericclass<T> { ... }
现在,我有一个对象的Type对象,并希望通过反射或其他方式获得Genericclass< T>的Type对象.其中T对应于那个Type对象,我有我的对象.
像这样:
Type requiredT = myobject.GetType(); Type wantedType = typeof(Genericclass<requiredT>);
显然这种语法不起作用,但我该怎么办呢?
解决方法 是的你可以:Type requiredT = ...Type genericType = typeof(Genericclass<>);Type wantedType = genericType.MakeGenericType(requiredT);
这将为您提供Genericclass< T>键入object,其中T对应于您的requiredT.
然后,您可以使用Activator构造一个实例,如下所示:
var instance = Activator.CreateInstance(wantedType,new Object[] { ...params });总结
以上是内存溢出为你收集整理的C#得到给定T的Generic类型全部内容,希望文章能够帮你解决C#得到给定T的Generic类型所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)