メインコンテンツにスキップ

avoid_as

削除済み

asの使用を避ける。

詳細

#

注: このルールはDart 3でSDKから削除され、機能しなくなりました。そのアドバイスはコンパイラ固有であり、null安全ではほとんど時代遅れです。

asの使用を避ける

型が正しいことがわかっている場合は、アサーションを使用するか、より狭い型の変数に代入します(これにより、リリースモードでの型チェックが回避されます。asはリリースモードでコンパイルアウトされません)。型が正しいかどうかわからない場合は、isを使用してチェックします(これにより、asが生成する例外が回避されます)。

悪い例

dart
(pm as Person).firstName = 'Seth';

良い例

dart
if (pm is Person)
  pm.firstName = 'Seth';

ただし、絶対に使用しない

悪い例

dart
try {
   (pm as Person).firstName = 'Seth';
} on CastError { }

dynamicの場合、キャストにパフォーマンスへの影響がないため、例外が設けられていることに注意してください。

OK

dart
HasScrollDirection scrollable = renderObject as dynamic;

有効にする

#

avoid_asルールを有効にするには、analysis_options.yamlファイルでlinter > rulesの下にavoid_asを追加します。

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_as

代わりにYAMLマップ構文を使用してリンタールールを設定している場合は、linter > rulesの下にavoid_as: trueを追加します。

analysis_options.yaml
yaml
linter:
  rules:
    avoid_as: true