跳到主要内容

ffi_native_unexpected_number_of_parameters_with_receiver

Native 注解参数数量不正确。预期数量为 {0},实际数量为 {1}。Native 实例方法注解必须将接收者作为第一个参数。

描述

#

当 native 方法的 `@Native` 注解上使用的类型参数不包含该方法的接收者类型时,分析器会生成此诊断。

示例

#

以下代码会生成此诊断,因为 `@Native` 注解上的类型参数 (Void Function(Double)) 不包含该方法的接收者类型:

dart
import 'dart:ffi';

class C {
  @Native<Void Function(Double)>()
  external void f(double x);
}

常见修复方法

#

添加一个初始参数,其类型与声明 native 方法的类相同

dart
import 'dart:ffi';

class C {
  @Native<Void Function(C, Double)>()
  external void f(double x);
}