指定当前库默认资产 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
属性
方法
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的函数或属性时调用。inherited
-
toString(
) → String - 此对象的字符串表示。inherited
运算符
-
operator ==(
Object other) → bool - 相等运算符。inherited