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' PropertyInfo
objets 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?