跳到主內容

mismatched_annotation_on_struct_field

該註解與欄位的宣告型別不匹配。

描述

#

StructUnion 子類中某個欄位上的註解與該欄位的 Dart 型別不匹配時,分析器會生成此診斷資訊。

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

示例

#

以下程式碼會生成此診斷資訊,因為註解 Double 與 Dart 型別 int 不匹配

dart
import 'dart:ffi';

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

常見修正

#

如果欄位型別正確,則更改註解以匹配

dart
import 'dart:ffi';

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

如果註解正確,則更改欄位型別以匹配

dart
import 'dart:ffi';

final class C extends Struct {
  @Double()
  external double x;
}