Kotlin将Annotation作为Annotation的参数

时间:2018-08-28 17:00:56

标签: java kotlin annotations

在Kotlin中,我试图创建一个可以接受其他注释数组(vararg)的注释。

我正在尝试做这样的事情:

annotation class MyAnnotation(
  vararg val annotation: Annotation
)

问题在于它告诉我Annotation不是注释的有效参数。如果我尝试一个特定的注释类,它将起作用。

我正在尝试创建一个注释,该注释可以采用其他注释(用于验证)并按顺序处理它们,并产生一个统一的效果。

是否可以使用一些特殊的Kotlin语法来提供各种注释的数组?

1 个答案:

答案 0 :(得分:1)

我相信任何可为空的内容(接口,Java类型...)都不能用作Kotlin批注的参数。也许您可以使用

annotation class MyAnnotation(vararg val annotations: KClass<in Annotation>)