【发布时间】:2017-02-09 11:38:22
【问题描述】:
在派生类中覆盖静态字段的原因
错误 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();
}
}
那我应该如何处理静态字段呢? 目前唯一的解决方法是将类名添加到每个静态字段名之前,这是一个非常丑陋的解决方案。
private static TBase_s_field = 'something';
...
private static TDerived_s_field = 'something else';
ps 使用 typescript 2.0.3
【问题讨论】:
标签: inheritance typescript static-variables