我有这样的 IEnumerable 集合的扩展:
public static bool IsNullOrEmpty<T>(this IEnumerable<T> enumerable) {
return enumerable == null || !enumerable.Any();
}
它适用于除 XmlNodeList 之外的许多集合。这是为什么?XmlNode 实现 IEnumerable ??
请帮忙
我有这样的 IEnumerable 集合的扩展:
public static bool IsNullOrEmpty<T>(this IEnumerable<T> enumerable) {
return enumerable == null || !enumerable.Any();
}
它适用于除 XmlNodeList 之外的许多集合。这是为什么?XmlNode 实现 IEnumerable ??
请帮忙
这是因为XmlNodeList
implements IEnumerable
, notIEnumerable<T>
,你可以使用下面的代替:
public static bool IsNullOrEmpty(this IEnumerable enumerable)
{
return enumerable == null || !enumerable.Cast<object>().Any();
}
XmlNodeList
only implementsIEnumerable
而不是IEnumerable<T>
,所以你必须有这个方法才能完成它。
public static bool IsNullOrEmpty(this IEnumerable enumerable) {
return enumerable == null || !enumerable.Cast<object>().Any();
}