我正在试图弄清楚如何在Dart中创建自定义对象的自定义集合,并将List作为抽象类,除了在我的自定义集合中“拥有”List之外别无他法:
class MenuItemCollection {
List<MenuItem> _items;
MenuItemCollection() {
_items = new List<MenuItem>();
}
List<MenuItem> get items => _items;
}
有更好的方法吗?
答案 0 :(得分:3)
您可以执行以下操作:
class MenuItemCollection implements List<MenuItem> {
final _list = new List<MenuItem>();
MenuItemCollection();
noSuchMethod(InvocationMirror invocation) => invocation.invokeOn(_list);
}
答案 1 :(得分:0)
您可以使用
列表与LT; E - 代替;
队列&LT; E - 代替;
组&LT; E - 代替;
或只是一个数组E[]
最好的方法是使用Collection框架(所以前3个选项)。但如果你想要,你甚至可以制作一个递归数组。