Bonjour,
Je cherche à lister toutes les instances d'une interface, Recuperer une methode pour savoir quel type d'objet elle gère et au besoin appeller cette interface.
Si l'un de vous a la solution.....
Merci :p
Version imprimable
Bonjour,
Je cherche à lister toutes les instances d'une interface, Recuperer une methode pour savoir quel type d'objet elle gère et au besoin appeller cette interface.
Si l'un de vous a la solution.....
Merci :p
Bonjour,
Je n'ai absolument rien compris...
Vous souhaitez chercher toutes les instances d'une interface ou? dans une collection, un tableau...?
Tu es sûr que c'est bien les instances d'objets que tu veux récupérer ? ou plutôt les types qui implémentent cette interface ? Dans ce cas tu peux t'en sortir avec la réflexion (System.Reflection). Par exemple, pour lister les types de tous les assemblies chargés qui implémentent l'interface IList :
Ou encore, en utilisant LINQ (.NET 3.5) :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 using System.Reflection; ... foreach (Assembly asm in AppDomain.CurrentDomain.GetAssemblies()) { foreach (Type type in asm.GetTypes()) { if (type.GetInterface("IList") != null) { Console.WriteLine(type.FullName); } } }
Code:
1
2
3
4 IEnumerable<Type> types = from t in AppDomain.CurrentDomain.GetAssemblies().SelectMany(asm => asm.GetTypes()) where t.GetInterface("IList") != null select t;