Data una classe generica Foo<T>
con un factory
metodo statico:Chiamata di una funzione statica in una classe generica a macchina
class Foo<T>
{
public static factory(item: T): Foo<T>
{
return null;
}
}
Perché questo non compilare?
var f = Foo<number>.factory(1);
Il messaggio di errore:
errore TS2069: un elenco di parametri deve seguire una lista tipo di argomento generico. '(' Previsto
Ciò compilare tuttavia:.??
var f = Foo<number>().factory(1);
Perché sono la parentesi richiesto è questo invocare il costruttore
Sembra strano per non parlare del fatto che si ottiene un errore di compilazione nel blocco superiore del codice (è illegale utilizzare parametri di tipo della classe che contiene in metodi statici) –
@RyanCavanaugh, in realtà ero in al centro di un grande refactor e il messaggio di errore è stato segnalato da WebStorm. Il loro supporto per TypeScript è ok, ma non così completo. Devi aver perso l'errore di cui stavi parlando, o l'errore che ho mascherato quello che descrivi. –