Roslyn - получить интерфейсы ссылочной dll

Я хотел бы проанализировать определенный класс в данном решении Visual Studio, используя Roslyn. Во время этого анализа я хотел бы получить все интерфейсы, которые использует класс.

Я видел несколько примеров, в которых можно получить интерфейсы даже всего решения (получить типы InterfaceDeclarationSyntax), однако мне было интересно, возможно ли также получить «внешние» интерфейсы, т. е. интерфейсы, принадлежащие внешним dll. на который класс ссылается и который использует.

Я буду признателен за вашу помощь!

Уточнение: я имею в виду не только интерфейсы, которые реализует класс, но и возможные члены класса, которые имеют интерфейс типа, на который ссылается внешняя dll.


person Ofer    schedule 25.09.2017    source источник
comment
И зачем вам Рослин для этого? Вы можете просто загрузить сборку и использовать отражения для той же цели.   -  person Oxoron    schedule 25.09.2017
comment
Вам нужна семантическая модель.   -  person SLaks    schedule 25.09.2017


Ответы (1)


Вы можете использовать метод ITypeSymbol.AllInterfaces(), он ищет все унаследованные интерфейсы в рекурсии.

person Oxoron    schedule 25.09.2017