跳到主要內容

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);
}