2015-09-21 8 views
11

Ich versuche, eine Schnittstelle mit ein paar Methoden zu definieren, und ich möchte eine der Methoden generisch sein.TypeScript Generische Methode Signatur in Interface

Es ist ein filterUnique Methode, so sollte es in der Lage sein Zahlenlisten zu filtern, Strings, usw.

folgende für mich nicht kompilieren:

export interface IGenericServices { 
    filterUnique(array: Array<T>): Array<T>; 
} 

Gibt es eine Möglichkeit zu machen das kompilieren, oder mache ich irgendwo hier einen konzeptionellen Fehler?

Prost!

Antwort

15

Der Typ T ist noch nicht definiert. Es muss auf das Verfahren als eine Art Variable hinzugefügt werden, wie:

filterUnique<T>(array: Array<T>): Array<T>; 

Oder an die Schnittstelle hinzugefügt wie:

export interface IGenericServices<T> { 
    filterUnique(array: Array<T>): Array<T>; 
} 
Verwandte Themen