用Kotlin创建自定义匕首2范围

我试图将Java代码转换为Kotlin来创建自定义匕首范围。

这里是Java代码:

@Documented @Scope @Retention(RetentionPolicy.RUNTIME) public @interface CustomScope { } 

一旦转换成kotlin这是结果

 @Scope @Documented @Retention(RetentionPolicy.RUNTIME) annotation class CustomScope 

我有一个与@Retention(RetentionPolicy.RUNTIME)types不匹配。我有以下错误信息:必需types是AnnotationRetention,但findRetentionPolicytypes。

@interface似乎已被替换。

您可能使用的Retention注释类是从Kotlin的库(来自包kotlin.annotation )。

它期望枚举typesAnnotationRetention一个属性。 所以,你可以做这样的事情:

 @MustBeDocumented @Scope @Retention(AnnotationRetention.RUNTIME) annotation class CustomScope 

顺便说一句,如果你看Annotations.kt文件,你会看到,当你没有传递任何东西的时候, Retention注解将会使用默认的AnnotationRetention.RUNTIME属性。

所以,只需@Retention注解也可以。