为已弃用的名称创建另一个函数

时间:2013-11-28 17:00:55

标签: dart

class PubTools {
  void update(Context context, {bool force: false}) {
    // do something
  }
}

是旧代码。我想将函数名称update更改为upgrade

class PubTools {
  @deprecated
  void update(Context context, {bool force: false}) {
    upgrade(context, force);
  }
  void upgrade(Context context, {bool force: false}) {
    // do something
  }
}

但是dartanalyzer会返回警告。

类似......

[警告]预期1个位置参数,但找到2个(/ home / sungguk / program_store / lib / grinder _utils.dart,第130行,第8栏)

如何删除警告?什么是正确的语法?

1 个答案:

答案 0 :(得分:5)

{...}语法表示named parameters

您必须通过传递命名参数的名称来调用该方法:

upgrade(context, force: force);

如果不使用参数名称调用它,则将其视为位置参数,但升级方法只需要一个位置参数,因此会产生警告。