跳到主要內容

subtype_of_disallowed_type

'{0}' 不能用作超類約束。

類和 mixin 不能實現 '{0}'。

類不能擴充套件 '{0}'。

類不能 mixin '{0}'。

描述

#

當在 extendsimplementswithon 子句中使用受限類時,分析器會生成此診斷。類 booldoubleFutureOrintNullnumString 都受到此限制,以實現更高效的實現。

示例

#

以下程式碼生成此診斷,因為在 extends 子句中使用了 String

dart
class A extends String {}

以下程式碼生成此診斷,因為在 implements 子句中使用了 String

dart
class B implements String {}

以下程式碼生成此診斷,因為在 with 子句中使用了 String

dart
class C with String {}

以下程式碼生成此診斷,因為在 on 子句中使用了 String

dart
mixin M on String {}

常見修復

#

如果應該指定不同的型別,則替換該型別

dart
class A extends Object {}

如果沒有合適的其他型別,則移除該型別,並可能移除整個子句

dart
class B {}