Je souhaite récupérer les interfaces implémentées par un Type donné.
Facile me direz vous : Type.GetInterfaces();
Oui mais non. GetInterfaces donne TOUTES les interfaces implémentées, or je ne veux que celles qui sont implémentées DIRECTEMENT.
Ex:
Ici, typeof(MaClass ).GetInterfaces me retourne les types I1 et I2, dans un ordre indéterminé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public interface I1 { } public interface I2 : I1 { } public class MaClass : I2 { }
Or j'ai besoin qu'il me retourne seulement I2, ou bien I2 en premier et I1 en deuxième.
J'ai la possibilité d'analyser ces interfaces pour voir si l'une est composée avec l'autre. Ca revient à recréer l'arborescence des interfaces, mais ça m'ennuie de faire ça, ça va me bouffer plein de ressources. Surtout dans un modèle ou on sur-exploite l'héritage d'implémentation (ça fait un algo d'analyse en 0(n²))
Merci...
Partager