我正在尝试将一个库分解为多个部分,并且无法从一个部分访问该库的私有元素。
例如,假设我有一个名为stack.dart的文件,其内容如下:
library stack;
final _stack = [];
get isEmpty => _stack.isEmpty;
get top => isEmpty ? throw "Empty stack!" : _stack.last;
get pop => isEmpty ? throw 'Empty stack!' : _stack.removeLast();
push(elt){
_stack.add(elt);
return elt;
}
我还有另一个具有以下内容的文件:
part of stack;
display(){
print(_stack); // can't access _stack from here!
}
这是预期的还是我做错了?
_stack
是库或文件的私有文件吗?
据我所记得,Dart有点废话,“私有”访问意味着“文件访问”。因此,除非它在同一文件中,否则您很幸运。