Reputation: 3657
In typescript
I pass whole class as reference MyClass
to a function.
How to create new instance of that class in that function?
export class MyClass {
}
createClass(MyClass);
function createClass(classReference) {
const classInstance = new classReference();//not working
}
I need it because in angular's ModuleWithProviders
I cannot call new MyClass()
.
Upvotes: 1
Views: 83
Reputation: 164129
It should look like this:
function createClass<T>(classReference: { new (): T }): T {
return new classReference();
}
let a = createClass(MyClass); // type of a is MyClass
Upvotes: 2
Reputation: 3353
In your ModuleWithProviders you could instead use:
{ provide: ProviderToReplace, useClass: MyClass }
Upvotes: 0