3

我试图弄清楚如何在 Dart 中创建自定义对象的自定义集合并将 List 作为抽象类我认为除了在自定义集合中“拥有”一个 List 之外别无他法:

class MenuItemCollection {

  List<MenuItem> _items;

  MenuItemCollection() {
    _items = new List<MenuItem>();
  }

  List<MenuItem> get items => _items;
}

有一个更好的方法吗?

4

2 回答 2

3

您可以执行以下操作:

class MenuItemCollection implements List<MenuItem> {
  final _list = new List<MenuItem>();
  MenuItemCollection();

  noSuchMethod(InvocationMirror invocation) => invocation.invokeOn(_list);
}
于 2013-01-21T15:36:55.250 回答
0

您可以使用

列表<E>

队列<E>

设置<E>

或者只是一个数组E[]

最好的方法是使用 Collection 框架(所以前 3 个选项)。但如果你愿意,你甚至可以制作一个递归数组。

于 2013-01-21T15:18:47.510 回答