检查propertyInfo是否实现了一个类

MrF*_*Fox 1 c# reflection

如何查找PropertyInfo是否包含特定类(因此也必须是类).我知道如何检查PropertyInfo是否属于特定类型,但这不能用于检查它是否派生类型:

public class Foo
{
    public Foo foo { get; set; }
    public Bar bar { get; set; }

    public void CheckStuff()
    {
        foreach (var property in this.GetType().GetProperties())
            Debug.WriteLine(Bar.IsOfType(property));
    }
}

public class Bar : Foo
{
    public static bool IsOfType(PropertyInfo member)
    {
        return member.PropertyType == typeof(Foo);
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:

True
False
Run Code Online (Sandbox Code Playgroud)

如何更改代码,以便第二个结果也是如此?

Lee*_*Lee 6

public static bool IsOfType(PropertyInfo member)
{
    return typeof(Foo).IsAssignableFrom(member.PropertyType);
}
Run Code Online (Sandbox Code Playgroud)