Dart Polymer:类型X不是Y类型的子类型

时间:2016-11-24 20:54:15

标签: dart dart-polymer

我在PyCharm上使用Dart和Polymer开发我的应用程序。我目前有一个错误:

Exception: type 'ObservableList<DrugFilterItem>' is not a subtype of type 'ObservableList<DrugCompareItem>' of '__$orderFilterList@51385934'
ObservableList is from package:observe/src/observable_list.dart
DrugFilterItem is from package:synmed/drug_elements/views/drug_filter_menu.dart
ObservableList is from package:observe/src/observable_list.dart
DrugCompareItem is from package:synmed/drug_elements/views/drug_search_toolbar.dart

DrugFilterItem和DrugCompareItem都是自定义类,DrugCompareItem扩展了DrugFilterItem,错误设计的行是:

ObservableList<DrugCompareItem> orderFilterList = new ObservableList<DrugFilterItem>();

今天突然发生了这个问题:我安装了Pycharm 2016.3并尝试编码,但是我遇到了包阴影的错误,我解决了。因为,我有这个错误,我认为它来自包的问题,​​因为代码没有从之前到之后发生变化。

我现在发现的事实上并没有什么,我在这类错误上阅读了很多帖子,其中一个经常出现的主题是进口,但我没有发现任何问题。我正在使用Dart 1.20.1和

polymer: "<=0.16.4+1"
core_elements: "<=0.7.1+3"
paper_elements: "<=0.7.1"

有人对我有任何线索吗?谢谢!

1 个答案:

答案 0 :(得分:0)

听起来像https://github.com/dart-lang/sdk/issues/14972#issuecomment-108402835

  

我相信这是按预期工作的。 List不能分配给List,即使它只包含Apples。

     

有几种方法可以解决这个问题:

iterable.map((x) => x) (removing the generic type),
new List<MethodMirror>.from(iterable)
new MyIterableWrapper<MethodMirror>(iterable) (where the iterable-wrapper that would need to be written).