跳到主要内容

extension_type_declares_instance_field

扩展类型不能声明实例字段。

描述

#

当扩展类型声明的主体中存在字段声明时,分析器会产生此诊断信息。

示例

#

以下代码会产生此诊断信息,因为扩展类型 E 声明了一个名为 f 的字段

dart
extension type E(int i) {
  final int f = 0;
}

常见修复

#

如果不需要该字段,请将其删除,或将其替换为 getter 和/或 setter

dart
extension type E(int i) {
  int get f => 0;
}

如果需要该字段,请将扩展类型转换为类

dart
class E {
  final int i;

  final int f = 0;

  E(this.i);
}