Wie überprüfe ich, ob ein bestimmter Wert eine generische Liste ist?

Wie überprüfe ich, ob ein bestimmter Wert eine generische Liste ist?

Für euch, die Freude an der Verwendung von Erweiterungsmethoden haben:

public static bool IsGenericList(this object o)
{
    var oType = o.GetType();
    return (oType.IsGenericType && (oType.GetGenericTypeDefinition() == typeof(List<>)));
}

Wir könnten also Folgendes tun:

if(o.IsGenericList())
{
 //...
}

using System.Collections;

if(value is IList && value.GetType().IsGenericType) {

}

 bool isList = o.GetType().IsGenericType 
                && o.GetType().GetGenericTypeDefinition() == typeof(IList<>));