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.19.6/dart-ffi/Union-class.html

Spec-Zone.ru

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