typescript - Är det möjligt att få typnamnet på en generisk typ?
Jag har en metodsignatur av execute<TResult>(): Observable<TResult>
Hur får jag namnet på TResult-typen?
Exempel:
execute<ViewModel> --> "ViewModel" är resultatet jag behöver.
Svar #1
Så vitt jag vet är det inte möjligt att få namnet på TResult, men om du tillhandahåller motsvarande konstruktionsfunktion kan du få namnet.
Förklaring:
execute<TResult>(ctor: { new (): TResult }) : <TResult> {
console.log(ctor.name) //Prints out SomeClass
return <any>null;
}
Användning:
execute<SomeClass>(SomeClass);
