跳到主内容

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