2015-09-21 19 views
11

Sto cercando di definire un'interfaccia con alcuni metodi e vorrei che uno dei metodi fosse generico.TypeScript Metodo generico Firma nell'interfaccia

Si tratta di un metodo filterUnique, quindi dovrebbe essere in grado di filtrare le liste di numeri, stringhe, ecc

seguente non viene compilato per me:

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

C'è un modo per fare questa compilazione, o sto facendo un errore concettuale da qualche parte qui?

Cheers!

risposta

15

Il tipo T non è ancora stato definito. Esso deve essere aggiunto al metodo come una variabile di tipo simile:

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

Oppure aggiunti all'interfaccia come:

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