上面有点错误。如下:
----------------------------------------
public   class   A <T>
{
}public   class   B   :A <int>
{
}public   class   C   :   B
{
}如何才能知道C是从A <T> 继承的。bool   b   =   typeof(A<int>).IsAssignableFrom(typeof(C));    //可以
bool   b   =   typeof(A<>).IsAssignableFrom(typeof(C));       //不行那位兄弟对泛型熟悉,帮忙看一下。 

解决方案 »

  1.   

    returnValue = instance.IsAssignableFrom(c)
     
    C# 
    public virtual bool IsAssignableFrom (
    Type c
    )
    参数
    c
    与当前的 Type 进行比较的 Type。 
    返回值
    如果 c 和当前 Type 表示同一类型,当前 Type 在 c 的继承层次结构中,当前 Type 是 c 实现的接口,或者 c 是泛型类型参数且当前 Type 表示 c 的约束之一,则为 true。如果上述情况都不符合,或者 c 为空引用(在 Visual Basic 中为 Nothing),则为 false。 
    msdn不是写的很清楚了么,只要调用IsAssignableFrom的type是参数type的父类,接口或者约束就可以返回true啊
      

  2.   

    这个方法应该是判断当前type的变量是否可以引用参数的实例
      

  3.   

    IsGenericType也可以直接判断