如何获取指定类中混合的特征列表?
更具体的例子:
abstract trait A
trait B extends A
trait C extends A
如何检查指定类中混合了哪些扩展特征 A 的特征(可以从 0 到多个)?
And more specific example:
abstract trait A
trait B extends A
trait C extends A
How to check what traits that extend trait A (it can be from 0 to many) were mixed in specified class?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
其他答案的混合
返回怎么样
How about a hybrid of the other answers
returns
像这样的事情怎么样:
这会找到 clazz 实现的所有特征,这些特征本身就是
baseTrait
的子特征。具有以下特征:使用如下:
这只查看由传入的实例的类直接实现的接口,但可以扩展以递归地查找继承层次结构。
How about something like this:
This finds all traits that
clazz
implements that are themselves subtraits ofbaseTrait
. With the following traits:Use as follows:
This only looks at the interfaces that are the directly implemented by the class of the instance passed in, but could be extended to recursively look up the inheritance hierarchy.