Mam abstrakcyjną klasę Model
z atrybutem statycznym i inną klasą ogólną Controller<T extends Model>
. Chcę uzyskać dostęp do statycznego atrybutu Model w instancji kontrolera. To powinno się podoba:Dostęp do statycznego atrybutu statycznego typu ogólnego
abstract class Model{
static hasStatus: boolean = false;
}
class MyModel extends Model{
static hasStatus = true;
}
class Controller<T extends Model>{
constructor(){
if(T.hasStatus)...
}
}
Ale TS mówi 'T' only refers to a type, but is being used as a value here.
Czy istnieje prosty sposób aby to osiągnąć? Czy powinienem podklasę Controller
dla każdego Dziedzictwa Model
i wdrożyć metodę, aby pobrać wartość?
W jaki sposób 'T' zwiąże się podczas tworzenia' Kontrolera'? –