Typescript access static attribute of generic type : <p>I have an abstract class <code>Model</code> with a static attribute and another generic class <code>Controller&lt;T extends Model&gt;</code>. I want to access the static attribute of Model in an instance of Controller. That should like this:</p>

<pre><code>abstract class Model{
    static hasStatus: boolean = false;
}

class MyModel extends Model{
     static hasStatus = true;
}

class Controller&lt;T extends Model&gt;{
    constructor(){
        if(T.hasStatus)...
    }
}
</code></pre>

<p>But TS says <code>'T' only refers to a type, but is being used as a value here.</code></p>

<p>Is there an easy way to achieve this? Or should i subclass <code>Controller</code> for each Heritage of <code>Model</code> and implement a method to retrieve the value? </p>
