Spec-Zone.ru › Dart 2

dart:ffi

Класс Union

Базовый тип для всех типов объединений FFI.

Типы объединений FFI должны наследоваться от этого класса и объявлять поля, соответствующие базовому нативному объединению.

Объявления полей в подклассе Union автоматически получают реализацию геттера и сеттера, которые обращаются к полю нативного объединения в памяти.

Все объявления полей в подклассе Union должны иметь тип int или double и быть аннотированы NativeType, представляющим нативный тип, или должны быть типа Pointer. Например:

typedef union {
 int a;
 float b;
 void* c;
} my_union;
class MyUnion extends Union {
  @Int32()
  external int a;

  @Float()
  external double b;

  external Pointer<Void> c;
}

Все объявления полей в подклассе Union должны быть помечены external. Вы не можете создавать экземпляры этого класса, только указывать на существующую нативную память, поэтому нет памяти для хранения полей, отличных от нативных. Внешние поля также не могут быть инициализированы конструкторами, поскольку не создается объект Dart.

Экземпляры подкласса Union имеют семантику ссылок и поддерживаются нативной памятью. Они могут быть выделены посредством выделения или загружены из Pointer, но не могут быть созданы конструктором.

Наследование
  • Object
  • NativeType
  • Union
Аннотации
  • @Since('2.14')

Конструкторы

Union()
Создает ссылку на nullptr.

Свойства

hashCode → int
только для чтения, унаследованное
Код хеширования этого объекта.
runtimeType → Type
только для чтения, унаследованное
Представление типа объекта во время выполнения.

Методы

noSuchMethod(Invocation invocation) → dynamic
унаследованное
Вызывается при доступе к несуществующему методу или свойству.
toString() → String
унаследованное
Строковое представление этого объекта.

Операторы

operator ==(Object other) → bool
унаследованное
Оператор равенства.

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-ffi/Union-class.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API