跳到主內容

missing_annotation_on_struct_field

'{1}' 子類中型別為 '{0}' 的欄位必須帶有指示原生型別的註解。

描述

#

當 Struct 或 Union 子類中的欄位,其型別需要註解但卻缺少註解時,分析器會生成此診斷訊息。Dart 型別 int、double 和 Array 用於表示多種 C 型別,而註解則指定該欄位表示哪個相容的 C 型別。

有關 FFI 的更多資訊,請參閱使用 dart:ffi 進行 C 互操作

示例

#

以下程式碼會產生此診斷訊息,因為欄位 x 沒有指示整數值底層寬度的註解。

dart
import 'dart:ffi';

final class C extends Struct {
  external int x;
}

常見修復

#

為該欄位新增適當的註解。

dart
import 'dart:ffi';

final class C extends Struct {
  @Int64()
  external int x;
}