En supposant la hiérarchie d'héritage hypothétique suivante:
public interface IA
{
int ID { get; set; }
}
public interface IB : IA
{
string Name { get; set; }
}
Utiliser la réflexion et faire l'appel suivant:
typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance)
ne donnera que les propriétés de l'interface IB, qui est " Name".
Si nous devions faire un test similaire sur le code suivant,
public abstract class A
{
public int ID { get; set; }
}
public class B : A
{
public string Name { get; set; }
}
l'appel typeof(B).GetProperties(BindingFlags.Public | BindingFlags.Instance)renverra un tableau d' PropertyInfoobjets pour " ID" et " Name".
Existe-t-il un moyen simple de trouver toutes les propriétés dans la hiérarchie d'héritage pour les interfaces comme dans le premier exemple?