In Typescript, why isn't my generic abstract class finding the type parameter when I attempt to implement it?
<p>I have this abstract class in typescript</p>

<pre><code>export abstract class IGenericsReferenceDataService&lt;T&gt; {
    GetAll&lt;T&gt;(types:T) {
        return types;
    };
}
</code></pre>

<p>In another file I have this class which attempts to implement the above</p>

<pre><code>@Injectable()
export class TradeSourceServiceGenerics implements IGenericsReferenceDataService&lt;tradeSources&gt; {
    GetAll&lt;T&gt;(types:tradeSources):tradeSources {
        return types;
    }
}
</code></pre>

<p>and in the file above I have an array of objects called tradeSources as such</p>

<pre><code>var tradeSources = [***thedata***] 
</code></pre>

<p>However in the bit of code IGenericsReferenceDataService "tradeSources" is highlighted red with an error message of "Cannot find name tradesources" this is true of the other two instances of "tradeSources" this is in Webstorm, where have I gone wrong?</p>