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ę PropertyInfo
obiektó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?