DefaultAssetfinal

指定当前库默认资产 ID 的注解。

该注解仅适用于 library 声明。

编译器和/或运行时提供了从 资产 ID 到本地库的绑定,这取决于目标平台和架构。编译器/运行时可以对本地库解析标识符(符号),查找原生函数实现,这些实现随后用作 external Dart 函数声明的实现。

如果用作 library 声明的注解,则该库中所有带有 Native 注解的外部函数都将使用指定的资产 id 进行原生函数解析(除非被 Native.assetId 覆盖)。

如果没有提供 DefaultAsset 注解,则当前库的 URI 是 Native 注解的外部函数的默认资产 ID。

示例(文件 package:a/a.dart

@Native<Int64 Function(Int64, Int64)>()
external int sum(int a, int b);

示例 2(文件 package:a/a.dart

@DefaultAsset('package:a/a.dart')
library a;

import 'dart:ffi';

@Native<Int64 Function(Int64, Int64)>()
external int sum(int a, int b);

上述两个示例是等价的。

尽可能使用库 URI 作为资产名称。

注意:这是一个实验性特性,未来可能会发生变化。

注解
  • @Since('2.19')

构造函数

DefaultAsset(String id)
const

属性

hashCode int
此对象的哈希码。
no setterinherited
id String
此库中 Native 外部函数的默认资产名称。
final
runtimeType Type
对象的运行时类型的表示。
no setterinherited

方法

noSuchMethod(Invocation invocation) → dynamic
当访问不存在的函数或属性时调用。
inherited
toString() String
此对象的字符串表示。
inherited

运算符

operator ==(Object other) bool
相等运算符。
inherited