gpt4 book ai didi

c# - 在 C# 中测试对象是否为泛型类型

转载 作者:IT王子 更新时间:2023-10-29 03:33:34 28 4
gpt4 key购买 nike

我想测试一个对象是否是泛型类型。我尝试了以下但没有成功:

public bool Test()
{
List<int> list = new List<int>();
return list.GetType() == typeof(List<>);
}

我做错了什么以及如何执行此测试?

最佳答案

如果你想检查它是否是泛型类型的实例:

return list.GetType().IsGenericType;

如果你想检查它是否是一个通用的 List<T> :

return list.GetType().GetGenericTypeDefinition() == typeof(List<>);

正如 Jon 指出的那样,这会检查确切的类型等价性。返回false不一定意味着 list is List<T>返回 false (即不能将对象分配给 List<T> 变量)。

关于c# - 在 C# 中测试对象是否为泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/982487/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com