Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart中的自定义集合?_Dart - Fatal编程技术网

Dart中的自定义集合?

Dart中的自定义集合?,dart,Dart,我正在试图弄清楚如何在Dart中创建自定义对象的自定义集合,并将List作为抽象类,除了在自定义集合中“拥有”一个List之外,我看不到其他方法: 类菜单项集合{ 列出项目; MenuItemCollection(){ _项目=新列表(); } 列表获取项=>\u项; } 有更好的方法吗?您可以使用 列表 队列 设置 或者只是一个数组E[] 最好的方法是使用集合框架(因此前3个选项)。但如果需要,您甚至可以创建一个递归数组。您可以执行以下操作: class MenuItemCollection

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

类菜单项集合{
列出项目;
MenuItemCollection(){
_项目=新列表();
}
列表获取项=>\u项;
}
有更好的方法吗?

您可以使用

列表

队列

设置

或者只是一个数组
E[]


最好的方法是使用集合框架(因此前3个选项)。但如果需要,您甚至可以创建一个递归数组。

您可以执行以下操作:

class MenuItemCollection实现列表{
最终列表=新列表();
MenuItemCollection();
noSuchMethod(调用镜像调用)=>invocation.invokeOn(_列表);
}

不幸的是,目前还无法扩展列表。下面是投票支持该功能的bug:Seth,这是否意味着不能扩展列表被认为是bug?我认为这是设计的?您也可以使用noSuchMethod捕获所有内容并转发到封装的列表:)类似于类EdgeList{final list=new ArrayList();noSuchMethod(mirror)=>mirror.invokeOn(list);}的东西您测试过吗?我没有试过:)我对你有信心;)。。。在你的评论之后,我也对它进行了测试:)我把一行改为:final List _List=new List();并在我的项目中进行了测试。我是否正确地记得当前镜像只在VM中工作?我最初的问题是是否有比我发布的更好的解决方案。您的解决方案更好还是只是一种替代方案?