dart:ffi
库中Union
类的用法介绍如下。
所有 FFI 联合类型的超类型。
FFI 联合类型应扩展此类并声明与底层本机联合对应的字段。
Union 子类声明中的字段声明会自动获得一个 setter 和 getter 实现,该实现可访问内存中的本机联合字段。
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
相关用法
- Dart UnmodifiableMapView用法及代码示例
- Dart UnmodifiableSetView.contains用法及代码示例
- Dart UnmodifiableListView用法及代码示例
- Dart UnmodifiableSetView用法及代码示例
- Dart UnmodifiableSetView.lookup用法及代码示例
- Dart UnmodifiableListView.length用法及代码示例
- Dart UriData.parse用法及代码示例
- Dart Uri.decodeFull用法及代码示例
- Dart Uri.replace用法及代码示例
- Dart Uri.parse用法及代码示例
- Dart Uri.dataFromString用法及代码示例
- Dart Uri.tryParse用法及代码示例
- Dart Utf8Decoder用法及代码示例
- Dart UriData.mimeType用法及代码示例
- Dart Uint8List.sublist用法及代码示例
- Dart Uri.encodeComponent用法及代码示例
- Dart Uri.directory用法及代码示例
- Dart Uint16List.sublist用法及代码示例
- Dart Uri.toFilePath用法及代码示例
- Dart Uint32List.sublist用法及代码示例
- Dart Uri.file用法及代码示例
- Dart Uri.decodeComponent用法及代码示例
- Dart Uri用法及代码示例
- Dart Uint8ClampedList.sublist用法及代码示例
- Dart Uri.dataFromBytes用法及代码示例
注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 Union class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。