我正在写一个飞镖文件:
import 'something.dart'
part of my_lib;
class A{
//...
}
我已尝试将此import
和part of
指令反转,但它仍然无效,您是否可以将类文件作为库的一部分并具有导入?
答案 0 :(得分:6)
所有导入都应该放在定义库的文件中。
库:
library my_lib;
import 'something.dart';
part 'a.dart';
class MyLib {
//...
}
a.dart
part of my_lib;
class A {
//...
}
由于a.dart是my_lib的一部分,因此它可以访问my_lib导入的任何文件。
答案 1 :(得分:0)
Pixel Elephanr 的回答是正确的,但我建议使用 part-of 指令的替代语法:
my_file.dart (库主文件):
//This now is optional:
//library my_lib;
import 'something.dart';
part 'a.dart';
class MyLib {
//...
}
a.dart (同一库的一部分;因此您可以在其中引用 my_file.dart 中导入的元素)
//Instead of this (whitout quotes, and referencing the library name):
//part of my_lib;
//use this (whit quotes, and referencing the library file path):
part of 'my_file.dart'
class A {
//...
}
在文档中你可以找到两种语法,但只使用部分语法带引号(指向文件路径),你可以省略库指令 在库主文件中;或者,如果由于其他原因仍然需要 library 指令(将 doc 和 annotations 放在 library 级别),至少您不会被迫在多个文件中保持同步库名称,这在重构的情况下很无聊。