Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取匿名对象类型的字符串名称?_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 获取匿名对象类型的字符串名称?

Javascript 获取匿名对象类型的字符串名称?,javascript,angular,typescript,Javascript,Angular,Typescript,我的许多后端控制器都有一个通用的提供程序,如下所示: @Injectable() export class CommonMasterdataProvider<T> { private readonly route:string = '/api/'; constructor(private http:HttpClient) { this.route = this.route + T.name; //?? What can I use to get th

我的许多后端控制器都有一个通用的提供程序,如下所示:

@Injectable()
export class CommonMasterdataProvider<T> {
    private readonly route:string = '/api/';

    constructor(private http:HttpClient) {
        this.route = this.route + T.name; //?? What can I use to get the type name here?
    }
@Injectable()
导出类CommonMasterdataProvider{
私有只读路由:string='/api/';
构造函数(专用http:HttpClient){
this.route=this.route+T.name;//?在这里我可以使用什么来获取类型名称?
}
我可以将其注入到我的组件控制器中,但如果我能获得匿名类型名,那就太好了。基本上,我正在寻找c#nameof()操作符的TypeScript版本。或Javascript方式,但即使在缩小代码后它也必须工作

我曾尝试向构造函数添加一个新的字符串参数,但通过这种方式,Angular injector抛出了一个异常,即它找不到字符串类型的任何内容。

AFAIK,泛型片段(t)没有被转换成JavaScript,所以它实际上不存在。这意味着你不能直接使用t,除非是作为一个“接口”。 有没有一种方法可以将T的实例或T的构造函数传递给CommonMasterdataProvider的构造函数?这样您就可以获得名称。

查看此库:--它带有Angular,因此您的项目中应该已经有了它。看起来它可能对类似的事情有所帮助。