public void IsOfType_Generic2() { var obj = new GenericB <C>(); Assert.IsTrue(obj.IsSubclassOf((GenericType)typeof(GenericB <C>))); Assert.IsTrue(obj.IsSubclassOf((GenericType)typeof(GenericB <B>))); Assert.IsTrue(obj.IsSubclassOf((GenericType)typeof(GenericB <A>))); Assert.IsTrue(obj.IsSubclassOf((GenericType)typeof(GenericA <C>))); Assert.IsTrue(obj.IsSubclassOf((GenericType)typeof(GenericA <B>))); Assert.IsTrue(obj.IsSubclassOf((GenericType)typeof(GenericA <A>))); Assert.IsTrue(obj.IsSubclassOf(new GenericType(typeof(GenericB <>)))); Assert.IsTrue(obj.IsSubclassOf(new GenericType(typeof(GenericA <>)))); }