Zakładając następującą hipotetyczną hierarchię dziedziczenia:
public interface IA
{
int ID { get; set; }
}
public interface IB : IA
{
string Name { get; set; }
}
Korzystając z refleksji i wykonując następujące wezwanie:
typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance)
zwróci tylko właściwości interfejsu IB, którym jest „ Name”.
Gdybyśmy mieli wykonać podobny test na poniższym kodzie,
public abstract class A
{
public int ID { get; set; }
}
public class B : A
{
public string Name { get; set; }
}
wywołanie typeof(B).GetProperties(BindingFlags.Public | BindingFlags.Instance)zwróci tablicę PropertyInfoobiektów dla „ ID” i „ Name”.
Czy istnieje łatwy sposób na znalezienie wszystkich właściwości w hierarchii dziedziczenia dla interfejsów, tak jak w pierwszym przykładzie?