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 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...?
Ingénieur Multimédia - TMM Communication
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 IEnumerable<Type> types = from t in AppDomain.CurrentDomain.GetAssemblies().SelectMany(asm => asm.GetTypes()) where t.GetInterface("IList") != null select t;
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager