假设你有这样的Typescript class
:
class CompExt extends Comp {
public static sum(a: number, b: number): number {return a+b};
};
函数sum将与原始类略有不同,它必须是静态的。
您的实际代码是
let ff: Function = CompExt;
console.log('the summ works fine',ff.sum(1,2));
代码编辑器和编译都会警告我:
bas.ts(47,16): error TS2339: Property 'sum' does not exist on type 'Function'.
有没有办法避免编译错误?如果我使用any
而不是Function
everthing就好了,但我想知道Typescript是否支持这样的风格。
答案 0 :(得分:2)
不要将类型指定为Function
,因为它不是通用函数,而是CompExt
。
如果您确实要指定类型,可以使用:let ff: typeof CompExt = CompExt
。
答案 1 :(得分:-1)
可以使用装饰器提供可能的解决方案。请检查此回答Static property on a class