Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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
Angularjs 带Angular2注入器的TypeScript泛型_Angularjs_Typescript_Code Injection_Typescript Typings_Typescript Generics - Fatal编程技术网

Angularjs 带Angular2注入器的TypeScript泛型

Angularjs 带Angular2注入器的TypeScript泛型,angularjs,typescript,code-injection,typescript-typings,typescript-generics,Angularjs,Typescript,Code Injection,Typescript Typings,Typescript Generics,我试着用一个注入器在角度上使用依赖注入。我希望能够在运行时根据该组件发送的内容实例化类型 @Injectable() export class ServiceInjectionManager { private _injector: ReflectiveInjector; constructor() { this._injector = ReflectiveInjector.resolveAndCreate([ MockBackend,

我试着用一个注入器在角度上使用依赖注入。我希望能够在运行时根据该组件发送的内容实例化类型

@Injectable()
export class ServiceInjectionManager {
    private _injector: ReflectiveInjector;

    constructor() {
        this._injector = ReflectiveInjector.resolveAndCreate([
            MockBackend,
            BaseRequestOptions,
            {
                provide: Http,
                useFactory: (backendInstance: MockBackend, defaultOptions: BaseRequestOptions) => {
                    return new Http(backendInstance, defaultOptions);
                },
                deps: [MockBackend, BaseRequestOptions]
            },
            AppSettings,
            HierarchyService
        ]);
    }


    public resolve<T extends HierarchyService>(type:any): T {

        return this._injector.get(type);
    }

}
@Injectable()
导出类ServiceInjectionManager{
专用注射器:反射式注射器;
构造函数(){
此._injector=ReflectiveInjector.resolveAndCreate([
模拟后端,
BaseRequestOptions,
{
提供:Http,
useFactory:(backendInstance:MockBackend,defaultOptions:BaseRequestOptions)=>{
返回新的Http(backendInstance,defaultOptions);
},
deps:[MockBackend,BaseRequestOptions]
},
应用程序设置,
等级服务
]);
}
公共解析(类型:any):T{
返回此。\u喷油器。获取(类型);
}
}
我似乎找不到通过打字的方法。我采取了多种方法,包括:

    public resolve<T extends HierarchyService>(T): T {

        return this._injector.get(T);
    }
公共解析(T):T{
返回此项。\u喷油器。获取(T);
}
TypeScript中的泛型似乎与.NET中的不同