我正在开发一个android应用程序(解析器应用程序),其中我们有一个解析器类,负责实际解析工作。
我想为所有想要使用API的人提供一个扩展点(除了我将作为API的一部分提供的一些通用解析)。这个想法是创建一个接口,如果任何人想要将他们的类声明为解析器类,他们所要做的就是(声明)实现该接口。
然后,我希望获得所有类及其实例的列表,实现该解析器。之后,我想调用基接口的方法,它将由用户实现。
Base Interface
interface BaseParser {
fun parser(key:String):String
}
Implementation
class MyParser: BaseParser {
override fun parser(key:String):String {
// actual implementation
}我只想获取实现BaseParser的所有类(在本例中为: MyParser)的实例,并在运行时调用方法解析器(键)。
编辑:添加代码
发布于 2021-11-19 10:05:27
试试这个库:https://github.com/ronmamo/reflections
反射扫描并索引项目的类路径元数据,从而允许在运行时对类型系统进行反向传递查询。
使用反射,您可以查询以下内容:
一个类型的子类型用注解注解的类型类型带有注解的方法,参数,在类路径中找到的返回类型资源以及更多...
https://stackoverflow.com/questions/52353007
复制相似问题