Analyzer警告参数类型不能自己

时间:2017-03-17 21:57:18

标签: dart

错误:参数类型'AdvformBaseComponent(advform / base.dart)'无法分配给参数类型'AdvformBaseComponent(advform / base.dart)'。

分析器警告参数类型不能是AdvformBaseComponent,但该函数期望将完全类作为参数:

void addControl(AdvformBaseComponent baseComponent, String fieldName);

以下代码段位于AdvformBaseComponent的ngOnInit内。

objector.addControl(this, name);

如果我执行“addControl(这是动态的”),它只会隐藏警告,但是这样的hacky且不具备性能...... sdk 1.22.1

the weird warning

编辑:

AdvformBaseComponent是一个由其他组件实现的抽象类。它本质上是表单组件的基类 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) {
    ...
  }
}

1 个答案:

答案 0 :(得分:0)

错误在1.23.0之后停止