У меня проблема с доступом к статическим членам из экземпляра конструктора класса.Код работает, но информация о типе неверна.
var ctor: { new (...args: any[]): Foo } = undefined as any;
function decorator() {
return function <T extends { new (...args: any[]): Foo }>(constructor: T) {
ctor = constructor;
return constructor;
}
}
@decorator()
class Foo {
static Func = () => console.log("Hi");
}
Foo.Func();
ctor.Func();
Foo.prototype.constructor.Func();
В приведенном выше примере вызов Foo.Func
в порядке.Второй звонок говорит мне, что нет Func
участника.Третий вариант должен быть в основном таким же, как и второй, но поскольку prototye
имеет тип any
, информация о типе теряется.
Есть ли способ правильно набрать ctor
, чтобыстатические члены можно увидеть на нем?