是否可以获取泛型类型的类型名称?

时间:2016-12-15 09:31:11

标签: generics typescript reflection typescript2.0 typename

我的方法签名为execute<TResult>(): Observable<TResult>

如何获取TResult类型的名称?

示例:

execute<ViewModel> - &gt; &#34;视图模型&#34;是我需要的结果。

1 个答案:

答案 0 :(得分:11)

据我所知,不可能得到TResult的名称,但如果你提供相应的构造函数,你可以得到名字。

<强>声明:

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

<强>用法:

execute<SomeClass>(SomeClass);