gpt4 book ai didi

c# - 在 List 中查找 IEnumerable 时,GetGenericTypeDefinition 返回 false

转载 作者:太空狗 更新时间:2023-10-30 00:04:10 26 4
gpt4 key购买 nike

正在关注 this question ,为什么 enumerable 在这里:

Type type = typeof(List<string>);
bool enumerable = (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(IEnumerable<>));

返回false?


编辑1

由于上述方法不起作用,确定类是否实现 IEnumerable 的最佳方法是什么?

最佳答案

在这里,我可能会使用 GetListType(type) 并检查 null:

static Type GetListType(Type type) {
foreach (Type intType in type.GetInterfaces()) {
if (intType.IsGenericType
&& intType.GetGenericTypeDefinition() == typeof(IEnumerable<>)) {
return intType.GetGenericArguments()[0];
}
}
return null;
}

关于c# - 在 List<T> 中查找 IEnumerable<T> 时,GetGenericTypeDefinition 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1908918/

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