C# 泛型判断是否为继承关系(IsSubclassof)
public static bool IsGenericSubclassOf(this Type type, Type superType) { if (type.BaseType != null && !type.BaseType.Equals(typeof(object)) && type.BaseType.IsGenericType) { if (type.BaseType.GetGenericTypeDefinition().Equals(superType)) { return true; } return type.BaseType.IsGenericSubclassOf(superType); } return false; }
使用
typeof(AAA).IsGenericSubclassOf(typeof(A<>))