我正在构建一个只有 3 个公共功能的“收藏夹”管理器:
- init(Iterable items) 初始化收藏夹(来自首选项)
- 切换(T 项)以添加/删除任何收藏
- contains(T item) 来验证一个项目是否是最喜欢的
这适用于名为 _favorites 的私有列表。
我想允许对这个私有列表的只读访问以便可以显示它,但我想防止像 add() 或 remove() 这样的修改,因为它会破坏收藏夹类的逻辑。
我想我可以做到:
final List<T> _favorites;
List<T> get favorites => List.unmodifiable(this._favorites);
但是虽然它在运行时不允许 add() 或 remove() ......它确实编译了,但没有 linter 警告。
甚至可以做我想做的事吗?
谢谢。