跳到主内容

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