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

wrong_number_of_type_arguments_extension

拡張機能「{0}」は {1} 個の型パラメータで宣言されていますが、{2} 個の型引数が指定されました。

説明

#

型パラメータを持つ拡張機能が使用され、型引数が提供されているものの、型引数の数が型パラメータの数と一致しない場合に、アナライザーはこの診断を生成します。

#

以下のコードは、拡張機能 E が単一の型パラメータ (T) を持つように宣言されていますが、拡張機能のオーバーライドで 2 つの型引数が指定されているため、この診断を生成します。

dart
extension E<T> on List<T> {
  int get len => length;
}

void f(List<int> p) {
  E<int, String>(p).len;
}

一般的な修正

#

型引数の数を型パラメータの数と一致するように変更してください。

dart
extension E<T> on List<T> {
  int get len => length;
}

void f(List<int> p) {
  E<int>(p).len;
}