首页 >后端开发 >C++ >C# 中如何检查对象是否为泛型类型?

C# 中如何检查对象是否为泛型类型?

Linda Hamilton
Linda Hamilton原创
2025-01-06 16:05:48477浏览

How to Check if an Object is a Generic Type in C#?

如何在 C# 中测试对象是否为泛型类型

问题:

您想要验证一个对象是否属于泛型类型。但是,您尝试使用 list.GetType() == typeof(List) 返回 false。如何正确执行此测试?

答案:

确定您需要的特定测试类型:

检查泛型实例类型:

简单地检查对象是否是泛型的实例输入,使用:

return list.GetType().IsGenericType;

检查通用列表

如果需要专门验证对象是否是List的实例:

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

请注意,后者测试检查确切的类型等效性。如果该对象继承自List或实现通用接口,测试将返回 false。

以上是C# 中如何检查对象是否为泛型类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn