無効なvisibleoutsidetemplateannotation
アノテーション 'visibleOutsideTemplate' は、'@visibleForTemplate' アノテーションが付与されたクラス、enum、または mixin のメンバーにのみ適用できます。
説明
#この診断は、@visibleOutsideTemplate アノテーションが誤って使用された場合にアナライザーによって生成されます。このアノテーションは、@visibleForTemplate アノテーションを持つクラス、enum、または mixin のメンバーにのみ付与され、 those members を @visibleForTemplate が課す可視性制限からオプトアウトするために使用されます。
例
#次のコードは、クラスレベルに @visibleForTemplate アノテーションがないため、この診断を生成します。
dart
import 'package:angular_meta/angular_meta.dart';
class C {
@visibleOutsideTemplate
int m() {
return 1;
}
}次のコードは、アノテーションがクラス宣言にあり、クラス、enum、または mixin のメンバーではないため、この診断を生成します。
dart
import 'package:angular_meta/angular_meta.dart';
@visibleOutsideTemplate
class C {}一般的な修正
#クラスがテンプレートからの参照のためだけに可視である場合は、クラスに @visibleForTemplate アノテーションを追加してください。
dart
import 'package:angular_meta/angular_meta.dart';
@visibleForTemplate
class C {
@visibleOutsideTemplate
int m() {
return 1;
}
}@visibleOutsideTemplate アノテーションが、@visibleForTemplate アノテーションを持つクラス、enum、または mixin のメンバー以外のものに付与されている場合は、アノテーションを削除してください。
dart
class C {}