使用Generics根据TypeScript中的T创建具有不同参数的工厂

时间:2017-03-20 13:27:22

标签: generics typescript

我们假设我们有一个通用工厂,可以创建从Fruit派生的不同类,如下所示:

function factory<T extends BaseClass>(obj: {new() : T})
{
    return new obj();
}

我们现在可以通过调用let yum = factory(Apple);来创建新实例。 这一切都很好,但是我想要做的是允许派生类更多参数添加到factory,以便我可以像

一样调用它

let redApple = factory(Apple, "red");

但也喜欢

let clusterOfGrapes = factory(Grapes, 15);

我现在的问题是;有没有办法做到这一点?我希望能够在派生类中以某种方式设置额外参数。

我试图想出一些东西,但我一无所获。我也没有在谷歌上找到任何东西,但是我不是100%搜索什么,因为我不知道这是什么。

0 个答案:

没有答案