c#如何用Type指定list泛型
时间: 2024-03-05 12:48:17 浏览: 92
在 C# 中,可以使用 Type 类型来指定 List 的泛型类型。以下是示例代码:
```csharp
Type elementType = typeof(string);
Type listType = typeof(List<>).MakeGenericType(elementType);
```
在上面的代码中,我们首先使用 `typeof(string)` 创建一个 Type 对象,表示 List 的泛型类型参数为 string。然后,使用 `typeof(List<>)` 创建一个泛型 List 类型的 Type 对象,最后使用 `MakeGenericType` 方法将其实例化为一个特定的泛型类型,其中泛型类型参数为 `elementType`,即指定 List 的元素类型。
可以根据需要更改 `elementType`,以指定不同类型的 List。
相关问题
c#如何用Type指定list泛型并获取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。
c#如何用Type指定list类型
在 C# 中,可以使用 Type 类型来指定 List 的元素类型。以下是示例代码:
```csharp
Type listType = typeof(List<>).MakeGenericType(typeof(string));
List<string> stringList = (List<string>)Activator.CreateInstance(listType);
```
在上面的代码中,我们使用 `typeof(List<>)` 创建了一个泛型 List 类型的 Type 对象,然后使用 `MakeGenericType` 方法将其实例化为一个特定的泛型类型,其中泛型类型参数为 `typeof(string)`,即指定 List 的元素类型为字符串。最后,使用 `Activator.CreateInstance` 方法创建 List 对象的实例,强制转换为 `List<string>` 类型。
可以根据需要更改 `typeof(string)`,以指定不同类型的 List。
阅读全文