2016-11-24 146 views
1

我使用Dart和Polymer在PyCharm上開發了我的應用程序。我現在有一個錯誤:飛鏢聚合物:X型不是Y型亞型

Exception: type 'ObservableList<DrugFilterItem>' is not a subtype of type 'ObservableList<DrugCompareItem>' of '[email protected]' 
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" 

有沒有人對我有任何線索?謝謝!

回答

0

聽起來https://github.com/dart-lang/sdk/issues/14972#issuecomment-108402835

我相信這是工作的打算。列表不可分配給列表,即使它只包含蘋果。

有幾種方法來解決此問題:

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). 
+0

我明白這一點,我只是不明白爲什麼這樣那樣的錯誤只是彈出suddently,因爲它是我的問題,煙包前工作。它不能被鏈接? –

+0

它可能是舊版本中的錯誤,只有在更新SDK後才報告。也許你之前沒有以檢查模式運行。生產模式中忽略類型。 –

+1

我確認我沒有在檢查模式下運行它。然後,我將不得不爲這一切改變我的錯誤。感謝您的時間! –