我有一个对象源,它是 IEnumerable<T>,其中 T 可以是某个类或 IGrouping 或嵌套的 IGrouping。
我如何确定它是嵌套组还是单个组或未分组?
它对我有用。谢谢 Jan。以下是我从您的回答中得到的功能:
public static bool HasInnerGrouping<T>(this IEnumerable<T> coll)
{
return typeof(T).GenericTypeArguments.Any(item => item.Name.Contains("IGrouping"));
}
string
快速而肮脏的方法,但由于强大的均衡性而不是很好。
public bool isOrHasGrouping<T>(IEnumerable<T> coll)
{
return
typeof(T).Name.Contains("IGrouping")
? true
: (typeof(T).ContainsGenericParameters
? typeof(T).GenericTypeArguments
.Any(item => item.Name.Contains("IGrouping"))
: false);
}