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

avoid_types_as_parameter_names

パラメータ名「{0}」が、可視の型名と一致しています。

型パラメータ名「{0}」が、可視の型名と一致しています。

説明

#

アナライザは、パラメータリスト内のパラメータの名前が、可視の型(名前がスコープ内にある型)と同じである場合に、この診断を生成します。

これは、パラメータの意図された名前が欠落しており、パラメータの型ではなく、型の名前がパラメータの名前として使用されていることを示唆していることがよくあります。そうでない場合(パラメータの名前が意図的である場合)でも、パラメータの名前は既存の型をシャドウし、診断が困難なバグにつながる可能性があります。

アナライザは、型パラメータリスト内の型パラメータの名前が、スコープ内にある型の名前と同じである場合にも、この診断を生成します。エラーの原因となるシャドウイングを避けるために、型パラメータの名前を変更することが再び推奨されます。

#

以下のコードは、関数fdart:coreの型intをシャドウするintという名前のパラメータを持っているため、この診断を生成します。

dart
void f(int) {}

一般的な修正

#

パラメータ名が欠落している場合は、パラメータに名前を追加してください。

dart
void f(int x) {}

パラメータがdynamicの暗黙的な型を持つことを意図している場合は、可視の型の名前をシャドウしないようにパラメータの名前を変更してください。

dart
void f(int_) {}