c#如何用Type指定list泛型并获取list对象
时间: 2023-09-07 22:11:37 浏览: 171
C# List介绍及具体用法
在 C# 中,可以使用 Type 类型来指定 List 的泛型类型,并通过反射创建 List 对象。以下是示例代码:
```csharp
Type elementType = typeof(string);
Type listType = typeof(List<>).MakeGenericType(elementType);
// 创建 List 对象
object listObj = Activator.CreateInstance(listType);
List<string> stringList = (List<string>)listObj;
```
在上面的代码中,我们首先使用 `typeof(string)` 创建一个 Type 对象,表示 List 的泛型类型参数为 string。然后,使用 `typeof(List<>)` 创建一个泛型 List 类型的 Type 对象,最后使用 `MakeGenericType` 方法将其实例化为一个特定的泛型类型,其中泛型类型参数为 `elementType`,即指定 List 的元素类型。
使用 `Activator.CreateInstance` 方法创建 List 对象的实例,强制转换为 `List<string>` 类型。此时,`stringList` 对象就是一个泛型为 string 类型的 List 对象。
可以根据需要更改 `elementType`,以指定不同类型的 List。
阅读全文