kotlin - 如何避免在任何地方重复相同的注释参数?
问题描述
我正在使用需要参数列表的库中的注释,并且整个项目中有很多类使用具有完全相同参数的此注释。
@AnnotationFromDependency(values = [long, list, of, variables, that, might, change])
class Foo {
fun bar() {
println("dostuff")
}
}
如何避免为@AnnotationDependency
每个使用它的类复制相同的参数?在变量中定义参数列表不起作用,因为它不是编译时常量。
val myValues = arrayOf("long", "list", "of", "values", "that", "might", "change")
@AnnotationFromDependency(values = myValues) // error: An annotation argument must be a compile-time constant
class Foo {
fun bar() {
println("dostuff")
}
}
解决方案
定义一个自定义注解并使用第三方注解:
@AnnotationFromDependency(values = ["long", "list", "of", "variables", "that", "might", "change"])
annotation class MyAnnotation()
注意: 元注释是应用于其他注释的注释。
接下来,在需要时使用您的注释而不是第三方注释:
@MyAnnotation
class Foo()
如果您需要修改值列表,您只需在一处进行。
推荐阅读
- linux - How to exclude directories from xargs rsync?
- javascript - 模态不显示长消息,javascript函数参数有问题
- ethereum - 以归属方式向预售投资者分发代币的合同
- flutter - Cast 包的任何 API 文档?
- c# - ASP .NET Core Endpoint 返回不同的内容类型
- javascript - 如何刷新或重新加载背景图片而不是整个网页
- r - 结构方程模型,模型拟合问题
- javascript - 如何检查数组是否有新条目并发布?
- asp.net - 如何使用带有xml的angular+8的soap asmx服务
- .net - dotnet 依赖版本冲突