2016-12-15 14 views
7

मेरे पास execute<TResult>(): Observable<TResult>क्या सामान्य प्रकार का प्रकार नाम प्राप्त करना संभव है?

का एक विधि हस्ताक्षर है I TRESSult प्रकार का नाम कैसे प्राप्त करूं?

उदाहरण:

execute<ViewModel> -> "ViewModel" परिणाम की आवश्यकता है।

उत्तर

8

जहाँ तक मुझे पता है कि TResult का नाम प्राप्त करना संभव नहीं है, लेकिन यदि आप तदनुसार कन्स्ट्रक्टर फ़ंक्शन प्रदान करते हैं तो आप नाम प्राप्त कर सकते हैं।

घोषणा:

execute<TResult>(ctor: { new(): TResult }) : <TResult> { 
    console.log(ctor.name) //Prints out SomeClass 
    return <any>null; 
} 

उपयोग:

execute<SomeClass>(SomeClass); 
संबंधित मुद्दे