6
将IsAssignableFrom与“开放”通用类型一起使用
使用反射,我试图找到从给定基类继承的一组类型。不需要很长时间就可以找到简单类型,但是在泛型方面我感到很困惑。 对于这段代码,第一个IsAssignableFrom返回true,但是第二个返回false。但是,最终的任务编译就可以了。 class class1 { } class class2 : class1 { } class generic1<T> { } class generic2<T> : generic1<T> { } class Program { static void Main(string[] args) { Type c1 = typeof(class1); Type c2 = typeof(class2); Console.WriteLine("c1.IsAssignableFrom(c2): {0}", c1.IsAssignableFrom(c2)); Type g1 = typeof(generic1<>); Type g2 = typeof(generic2<>); Console.WriteLine("g1.IsAssignableFrom(g2): …