1

IEnumerable<T> というオブジェクト ソースが 1 つあります。ここで、T はクラス、IGrouping、またはネストされた IGrouping のいずれかです。

ネストされたグループまたは単一のグループであるか、グループ化されていないかを特定するにはどうすればよいですか?

4

2 に答える 2

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 に答える