Kotlin Pass Аннотация как параметр к аннотации - PullRequest
0 голосов
/ 28 августа 2018

В Kotlin я пытаюсь создать аннотацию, которая может принимать массив (vararg) других аннотаций.

Я пытаюсь сделать что-то вроде этого:

annotation class MyAnnotation(
  vararg val annotation: Annotation
)

Проблема заключается в том, что Annotation не является допустимым параметром для аннотации. Если я попробую определенный класс аннотаций, это сработает.

Я пытаюсь создать аннотацию, которая может принимать другие аннотации (для проверок), обрабатывать их по порядку и выполнять один унифицированный эффект.

Существует ли какой-то особый синтаксис Kotlin, который я могу использовать, чтобы получить массив различных аннотаций?

1 Ответ

0 голосов
/ 28 августа 2018

Я считаю, что все, что можно обнулять (интерфейсы, типы Java ...), нельзя использовать в качестве параметра для аннотации Kotlin. Может быть, вы могли бы использовать

annotation class MyAnnotation(vararg val annotations: KClass<in Annotation>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...