小编dod*_*951的帖子

在覆盖派生类中的静态字段时,"...错误地扩展了基类静态端"错误

覆盖派生类中的静态字段会导致

错误TS2417:构建:类静态端'typeof TDerived'错误地扩展了基类静态端'typeof TBase'.

这是一个合法的错误案例吗?

class TBase
{
  private static s_field = 'something';

  public constructor() {}
}

class TDerived extends TBase
{
  private static s_field = 'something else'; // commenting this line fixes error

  public constructor()
  {
    super();
  }
}
Run Code Online (Sandbox Code Playgroud)

那我该怎么处理静态字段呢?现在唯一的解决方法是将类名添加到每个静态字段名称,这是一个非常难看的解决方案.

private static TBase_s_field = 'something';
...
private static TDerived_s_field = 'something else';
Run Code Online (Sandbox Code Playgroud)

ps使用typescript 2.0.3

inheritance static-variables typescript

5
推荐指数
1
解决办法
2237
查看次数

标签 统计

inheritance ×1

static-variables ×1

typescript ×1