必須_是_原生_函式_型別
提供給 '{1}' 的型別 '{0}' 必須是有效的 'dart:ffi' 原生函式型別。
描述
#當 Pointer.fromFunction、DynamicLibrary.lookupFunction 或 NativeCallable 建構函式的呼叫中,其型別引數(無論是顯式的還是推斷的)不是原生函式型別時,分析器會生成此診斷資訊。
有關 FFI 的更多資訊,請參閱 使用 dart:ffi 進行 C 互操作。
示例
#以下程式碼會生成此診斷資訊,因為型別 T 可以是 Function 的任何子類,但 fromFunction 的型別引數要求是原生函式型別
dart
import 'dart:ffi';
int f(int i) => i * 2;
class C<T extends Function> {
void g() {
Pointer.fromFunction<T>(f, 0);
}
}常見修復
#在呼叫中將原生函式型別用作型別引數
dart
import 'dart:ffi';
int f(int i) => i * 2;
class C<T extends Function> {
void g() {
Pointer.fromFunction<Int32 Function(Int32)>(f, 0);
}
}