Member predicate ValueOrRefType::hasMember
Holds if this type has member m, that is, either m is declared in this
type, or m is inherited by this type.
For example, C has the members A.P1, A.M2(), B.P2, and C.M3() in
class A {
public int P1 { get; set; }
public virtual int P2 { get; set; }
private void M1() { }
protected void M2() { }
}
class B : A {
public override int P2 { get; set; }
}
class C : B {
private void M3() { }
}