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

标签 generics typescript reflection typescript2.0 typename

我有一个方法签名 execute<TResult>(): Observable<TResult>

如何获取 TResult 类型的名称?

示例:

execute<ViewModel> --> "ViewModel"是我需要的结果。

最佳答案

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

声明:

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

用法:

execute<SomeClass>(SomeClass);

关于generics - 是否可以获取泛型类型的类型名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41160690/

相关文章:

c# - 如何为类的继承者专门化参数类型?

java - 我如何发现哪个类声明了一个字段?

c# - 如何加载依赖程序集?

c - 我想在 C 中为二维数组创建一个通用选择器

java - 没有参数的参数化类?

java - 调整数组大小

javascript - 循环更改视频分辨率

angular - Angular 动态形式的单选按钮

javascript - 从组件的 OnInit 调用时,Angular 2 路由器无法导航

java - GWT 服务器端反射