2017-09-25 3 views
0

Je voudrais analyser une classe spécifique dans une solution Visual Studio donnée, en utilisant Roslyn. Au cours de cette analyse je voudrais obtenir toutes les interfaces que la classe utilise.Roslyn - Obtenir les interfaces d'une DLL référencée

J'ai vu plusieurs exemples dans lesquels il est possible de récupérer les Interfaces de même la solution entière (récupérer les types de InterfaceDeclarationSyntax), mais je me demandais s'il était possible d'obtenir les interfaces 'externes', appartiennent à des DLL externes que la classe référence et utilise.

J'apprécierai votre aide! Clarification: Je ne me réfère pas seulement à l'interface (s) que la classe implémente, mais aussi aux membres possibles dans la classe qui sont de type interface qui est référencé à partir de dll externe.

+0

Et pourquoi avez-vous besoin de Roslyn pour cela? Vous pouvez simplement charger un assemblage et utiliser des réflexions dans le même but. – Oxoron

+0

Vous avez besoin du modèle sémantique. – SLaks

Répondre

0

Vous pouvez utiliser la méthode ITypeSymbol.AllInterfaces(), elle recherche toutes les interfaces héritées dans la récursivité.