2017-03-17 16 views
0

錯誤:參數類型'AdvformBaseComponent(advform/base.dart)'不能被分配給參數類型'AdvformBaseComponent(advform/base.dart)'。分析器警告參數類型本身不可以

分析儀警告參數類型不能AdvformBaseComponent,但功能期待的是確切類作爲參數:

void addControl(AdvformBaseComponent baseComponent, String fieldName); 

以下片段是AdvformBaseComponent的ngOnInit內。

objector.addControl(this, name); 

它只是隱藏了,如果我做了 「的AddControl(此爲動態」 的警告,但就是這樣哈克和非高性能...
SDK 1.22.1

the weird warning

編輯:

AdvformBaseComponent是一個抽象類,它是由其他組件實現的,它本質上是一個表單組件的基類。
Th e AdvformObjectComponent是基於AdvformBaseComponent的組件的面板組。任何AdvformBaseComponent都必須有一個AdvformObjectComponent的父類。
他們在同一個項目和相同的目錄。
我可以共享這些文件,如果你覺得它有用,它們總是瀏覽器組件。

abstract class AdvformBaseComponent implements OnInit, AfterViewInit, 
     OnDestroy { 
    AdvformObjectComponent objector; 
    AdvformBaseComponent(this.objector, @Optional() this._submitter, this.translator, @Optional() this._group) { 
     if (objector == null) 
      throw new Exception(
        'Advform inputs must have a advform-object as parent.'); 
    } 
} 




class AdvformObjectComponent implements OnInit { 
    void addControl(AdvformBaseComponent baseComponent, String fieldName) { 
    ... 
    } 
} 
+0

什麼是'objector'後停止。你能提供更多的代碼嗎? –

+0

這不能工作。如果你首先需要一個實例能夠創建一個實例,你將如何創建一個'AdvformBaseComponent'(或者子類),因爲它需要作爲構造器參數。你如何提供'AdvformObjectComponent'? –

+0

它目前正在運行,問題只是分析器。我需要基礎組件內的反對者,因爲反對者是html內的父節點。它基本上只是一個面板。我無法看到這裏的複雜程度= \ – Jonathan

回答

相關問題