使用类型变量动态创建泛型实例
在 C# 中,泛型类型提供了一种方便的方式来定义和使用可以与各种数据类型一起工作的数据结构。但是,在某些情况下,您可能需要使用包含类型的变量来创建泛型类型的实例。
下面的代码尝试使用包含 double 类型类型的变量 k 创建一个 List
<code class="language-c#">Type k = typeof(double); List<k> lst = new List<k>();</code>
为了解决这个问题,您可以使用以下方法:
以下是更正后的代码:
<code class="language-c#">var genericListType = typeof(List<>); // 注意<> var specificListType = genericListType.MakeGenericType(typeof(double)); var list = Activator.CreateInstance(specificListType);</code>
通过这种方法,您可以使用包含 Type 的变量动态创建泛型类型的实例。这种灵活性允许您处理复杂的数据结构和泛型类型需要通过编程方式确定的场景。 注意typeof(List<>)
中的<>
,它表示这是一个泛型类型,而不是具体的类型。
以上是如何使用类型变量在 C# 中动态创建泛型实例?的详细内容。更多信息请关注PHP中文网其他相关文章!