Bonjour,

Peut-on savoir si une interface correspond au premier niveau d'héritage d'une classe ?
Je m'explique par un exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
interface ILow
{
}
 
interface IMedium : ILow
{
}
 
interface IHigh : IMedium
{
}
 
interface IToto
{
}
 
interface ITata
{
}
 
class A : IHigh, IToto, ITata
{
}
 
Type Check(A inst_A, Type type_itf)
{
  // Ici je veux trouver l'interface la + spécialisée de inst_A, qui implémente type_itf
  // Donc si je passe IMedium ou ILow dans le paramètre type_itf,
  // je veux renvoyer IHigh en retour de fonction
}
Je sais vérifier si l'interface type_itf est implémentée par inst_A grâce à IsAssignableFrom.
Ensuite je sais aussi récupérer la listes des interfaces de inst_A et vérifier laquelle hérite de type_itf, mais je récupère toute l'arbre d'héritage, et je n'ai pas d'idée pour récupérér l'interface la + spécialisée.

QQun aurait une idée ?
Merci