FFI 類子型別
類 '{0}' 不能擴充套件 '{1}'。
類 '{0}' 不能實現 '{1}'。
類 '{0}' 不能混入 '{1}'。
描述
#當類擴充套件 Struct 或 Union 以外的任何 FFI 類,或實現或混入任何 FFI 類時,分析器會生成此診斷。Struct 和 Union 是唯一可以被子型別化的 FFI 類,且只能透過擴充套件它們來實現子型別化。
有關 FFI 的更多資訊,請參閱 使用 dart:ffi 進行 C 互操作。
示例
#以下程式碼會生成此診斷,因為類 C 擴充套件了 Double
dart
import 'dart:ffi';
final class C extends Double {}常見修復
#如果該類應該擴充套件 Struct 或 Union,則修改該類的宣告
dart
import 'dart:ffi';
final class C extends Struct {
@Int32()
external int i;
}如果該類不應擴充套件 Struct 或 Union,則刪除對所有 FFI 類的引用
dart
final class C {}