メインコンテンツにスキップ

subtype_of_ffi_class

クラス「{0}」は「{1}」を拡張できません。

クラス「{0}」は「{1}」を実装できません。

クラス「{0}」は「{1}」とミックスインできません。

説明

#

アナライザーは、Struct または Union 以外の FFI クラスを拡張するクラス、または FFI クラスを実装またはミックスインするクラスに対して、この診断を生成します。Struct および Union は、サブタイピング可能な唯一の FFI クラスであり、それらを拡張することによってのみ可能です。

FFI の詳細については、dart:ffi を使用した C の相互運用 を参照してください。

#

以下のコードは、クラス CDouble を拡張しているため、この診断を生成します。

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