Kotlin
Anmerkungen
Suche…
Annotation deklarieren
Anmerkungen sind Mittel zum Anhängen von Metadaten an Code. Um eine Anmerkung zu deklarieren, setzen Sie den Anmerkungsmodifizierer vor eine Klasse:
annotation class Strippable
Anmerkungen können Meta-Anmerkungen enthalten:
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
annotation class Strippable
Anmerkungen können wie andere Klassen über Konstruktoren verfügen:
annotation class Strippable(val importanceValue: Int)
Im Gegensatz zu anderen Klassen ist dies jedoch auf folgende Typen beschränkt:
- Typen, die Java-Grundtypen entsprechen (Int, Long usw.);
- Streicher
- Klassen (Foo :: Klasse)
- enums
- andere Anmerkungen
- Arrays der oben aufgeführten Typen
Meta-Anmerkungen
Bei der Deklaration einer Annotation können Meta-Informationen mit den folgenden Meta-Annotationen eingefügt werden:
@Target
:@Target
die möglichen Arten von Elementen an, die mit der Annotation versehen werden können (Klassen, Funktionen, Eigenschaften, Ausdrücke usw.).@Retention
gibt an, ob die Anmerkung in den kompilierten Klassendateien gespeichert ist und ob sie zur Laufzeit durch Reflektion sichtbar ist (standardmäßig sind beide wahr).@Repeatable
ermöglicht die mehrfache Verwendung derselben Annotation für ein einzelnes Element.@MustBeDocumented
gibt an, dass die Annotation Teil der öffentlichen API ist und in der in der generierten API-Dokumentation angegebenen Klasse oder Methodensignatur enthalten sein sollte.
Beispiel:
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
@Retention(AnnotationRetention.SOURCE)
@MustBeDocumented
annotation class Fancy