Csharp/C#教程:从System.Type初始化通用对象分享


从System.Type初始化通用对象

我需要创建一个generics类型,但我不知道编译时的类型。 我想这样做:

Type t = typeof(whatever); var list = new List 

这不会编译,因为t不是有效类型。 但它确实知道一个有效的类型。 有没有办法从System.Type中动态创建通用列表? 我可能需要反思,没关系,我在这里有点迷失。

像这样:

 Type t; Type genericListType = typeof(List<>).MakeGenericType(t); object list = Activator.CreateInstance(genericListType); 

请注意,您只能将其分配给object类型的变量。 (尽管您可以转换为非通用IList接口)

要使用list变量,您可能需要reflection。

上述就是C#学习教程:从System.Type初始化通用对象分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/949063.html

(0)
上一篇 2021年11月17日
下一篇 2021年11月17日

精彩推荐