1

我有一个对象源,它是 IEnumerable<T>,其中 T 可以是某个类或 IGrouping 或嵌套的 IGrouping。

我如何确定它是嵌套组还是单个组或未分组?

4

2 回答 2

2

它对我有用。谢谢 Jan。以下是我从您的回答中得到的功能:

public static bool HasInnerGrouping<T>(this IEnumerable<T> coll)
{
    return typeof(T).GenericTypeArguments.Any(item => item.Name.Contains("IGrouping"));
}
于 2013-05-27T12:13:37.543 回答
1

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);
 }
于 2013-05-27T11:31:06.587 回答