2017-12-31 74 views
1

カスタムダガースコープを作成するためにJavaコードをKotlinに変換しようとしています。ここでカスタムダガーを作成する2 Kotlinでスコープを設定する

は、Javaコードです:

一度ここkotlinに変換
@Documented 
@Scope 
@Retention(RetentionPolicy.RUNTIME) 
public @interface CustomScope { 
} 

が結果

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

である私は@Retention(RetentionPolicy.RUNTIME) .Iとの型の不一致を持って、次のエラーメッセージを持っている:必須種類はAnnotationRetentionですRetentionPolicyタイプが見つかりました。

また、@interfaceが置き換えられているようです。

答えて

3

Retentionアノテーションクラスは、Kotlinのライブラリ(パッケージkotlin.annotation)からのものです。

enumタイプのプロパティAnnotationRetentionが必要です。あなたはAnnotations.ktファイルを見れば

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

ところで、あなたはそれには何も渡さないときRetention注釈はデフォルトプロパティAnnotationRetention.RUNTIMEを取ることがわかります。だから、あなたはこのような何かを行うことができます。

したがって、ちょうど@Retention注釈も行います。

関連する問題