Мне нужно получить все интерфейсы во время выполнения от данного класса (все загружаются в ClassLoader).Scala: получить интерфейсы mixin во время выполнения
Например, если класс объявлен следующим образом:
trait B
trait C
trait D
class A extends B with C with D
Я хочу, чтобы получить эту информацию во время выполнения: А зависит от В и С и D. java getInterfaces() (или интерфейсы() из библиотеки clapper) дает только первую зависимость, а именно: A зависит от B.
Есть ли способ достичь этого?
Наверное, отражением, но я не знаю, как?
Проблема заключается в том, что я не знаю, класс * априори *. Поэтому я не могу позвонить typeOf [A] Что я получаю, это список классов, созданных путем чтения целевых/классов и их интенсификации с помощью Class.forName, так что я получаю список неизвестных классов во время выполнения. val classes: List [Class [_] = ... // мой список классов чтения classes.map {c => c-> ???} // Карта с ее интерфейсами – Mathieu