跳到主要內容

extension_override_argument_not_assignable

擴充套件覆蓋 '{0}' 的引數型別無法賦值給被擴充套件的型別 '{1}'。

描述

#

當擴充套件覆蓋的引數無法賦值給該擴充套件所擴充套件的型別時,分析器會生成此診斷。

示例

#

以下程式碼會生成此診斷,因為 3 不是 String 型別

dart
extension E on String {
  void method() {}
}

void f() {
  E(3).method();
}

常見修復方法

#

如果您使用的是正確的擴充套件,則將引數更新為正確的型別

dart
extension E on String {
  void method() {}
}

void f() {
  E(3.toString()).method();
}

如果存在適用於該引數型別的其他擴充套件,則可以替換擴充套件的名稱,或者解開引數以便找到正確的擴充套件。