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

collection_methods_unrelated_type

引数型「{0}」は「{1}」と関連がありません。

説明

#

この診断は、コアライブラリの一部のメソッドが不適切な型の引数で呼び出された場合にアナライザによって生成されます。これらのメソッドは、パラメータの型が十分に特定されておらず、通常の型チェックでエラーを検出できないものです。

チェックされる引数は次のとおりです。

  • Iterable<E>.contains への引数は E と関連がある必要があります。
  • List<E>.remove への引数は E と関連がある必要があります。
  • Map<K, V>.containsKey への引数は K と関連がある必要があります。
  • Map<K, V>.containsValue への引数は V と関連がある必要があります。
  • Map<K, V>.remove への引数は K と関連がある必要があります。
  • Map<K, V>.[] への引数は K と関連がある必要があります。
  • Queue<E>.remove への引数は E と関連がある必要があります。
  • Set<E>.lookup への引数は E と関連がある必要があります。
  • Set<E>.remove への引数は E と関連がある必要があります。

#

次のコードは、contains への引数が String であり、リスト l の要素型である int に代入できないため、この診断を生成します。

dart
bool f(List<int> l)  => l.contains('1');

一般的な修正

#

要素型が正しい場合は、引数を同じ型に変更してください。

dart
bool f(List<int> l)  => l.contains(1);

引数の型が正しい場合は、要素型を変更してください。

dart
bool f(List<String> l)  => l.contains('1');