Fre*_*ind 15 annotations metadata dart
我想为我的dart代码创建一些自己的元数据,例如@table,@ column,但我找不到任何有用的文档.
但我确实发现angular.dart中有一些特殊的元数据(例如NgController):https://github.com/angular/angular.dart/blob/master/demo/todo/web/todo.dart#L52
如何在Dart中创建自己的元数据?有文件吗?
mez*_*oni 16
Dart支持用于将用户定义的注释附加到程序结构的元数据.
元数据由一系列注释组成,每个注释以字符@开头,后跟一个以标识符开头的常量表达式.如果表达式不是以下之一,则为编译时错误:
元数据可以出现在库,部件头,类,typedef,类型参数,构造函数,工厂,函数,字段,参数或变量声明之前以及导入,导出或部件指令之前.
因此,通过你常数这样的建议@table,@column是非常受限制的功能,因为它们无法容纳更多的信息(参数).
@DataTable("sale_orders")
class SaleOrder {
@DataColumn("sale_order_date")
DateTime date;
}
@table
class Product {
@column
String name;
}
const DataColumn column = const DataColumn();
const DataTable table = const DataTable();
class DataTable {
final String name;
const DataTable([this.name]);
}
class DataColumn {
final String name;
const DataColumn([this.name]);
}
Run Code Online (Sandbox Code Playgroud)
但无论如何,您选择最适合您需求的选项.
这是一篇关于Dart注释的有趣博客文章
http://japhr.blogspot.co.at/2013/01/i-love-dart-annotations.html
这里是Dart语言规范的元数据部分
https://www.dartlang.org/docs/spec/latest/dart-language-specification.html#h.d0rowtffuudf
元数据由一系列注释组成,每个注释以字符@开头,后跟一个以标识符开头的常量表达式.
因此,您可以使用带有const构造函数的类作为注释.
| 归档时间: |
|
| 查看次数: |
6577 次 |
| 最近记录: |