Я пытаюсь создать метод, который можно использовать в качестве общего решения для создания экземпляров разных классов с различными параметрами конструктора.Создание классов по ссылке на конструкторы с различным количеством параметров
Вот пример этого «мыслимых» метод, вроде мои мысли о том, как это должно выглядеть:
module flashist
{
export interface ISimpleClass<ObjectType>
{
new(): ObjectType;
}
export class Instantiator
{
public createInstance(Class: ISimpleClass<ClassType>, ...args): ClassType
{
// I understand, that this annotation is not possible
var result: any = new Class.apply(args);
return (result as ClassType);
}
}
}
Проблема происходит с линией:
var result: any = new Class.apply(args);
Где я хочу, чтобы пройти неизвестные параметры конструктору. Я понимаю, что этот синтаксис невозможен, я просто хотел показать что-то похожее на то, чего хочу достичь.
Итак, мой вопрос: есть ли у нас какое-либо решение этой проблемы в TypeScript и/или JS?