Check if a class is derived from a generic class

前端 未结 16 1570
太阳男子
太阳男子 2020-11-22 09:57

I have a generic class in my project with derived classes.

public class GenericClass : GenericInterface
{
}

public class Test : GenericCla         


        
16条回答
  •  刺人心
    刺人心 (楼主)
    2020-11-22 10:22

    Here's a little method I created for checking that a object is derived from a specific type. Works great for me!

    internal static bool IsDerivativeOf(this Type t, Type typeToCompare)
    {
        if (t == null) throw new NullReferenceException();
        if (t.BaseType == null) return false;
    
        if (t.BaseType == typeToCompare) return true;
        else return t.BaseType.IsDerivativeOf(typeToCompare);
    }
    

提交回复
热议问题