泛型“New”约束等效于 TypeScript
Generics "New" constraint equivalent in TypeScript
在C#中,你可以做:
class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
}
在打字稿中,我设法实现的最接近的是:
class ItemFactory<T>{
instantiatibleModel : new() => T;
constructor(modelWithctor : { new(): T }){
this.instantiatibleModel = modelWithctor;
}
GetNewItem() : T{
return new this.instantiatibleModel();
}
}
任何想法如何让它更干净/更接近 C# 语法?
您希望它适用于所有类吗?如果你有一个超级基类,可以用简单的方式完成。
class Base {
hi() {
alert('base');
}
}
class Derived extends Base {
hi() {
alert('Der');
}
}
class Gen<T extends Base >{
constructor(private testType) {
}
create<T>(): T {
return new this.testType();
}
}
var g=new Gen<Derived>(Derived);
var obj= g.create();
相关文章:
- Foreach无法在Typescript中工作
- 扩展SVGTextElement时出现Typescript Uncaught TypeError
- 为什么无法在TypeScript中导出类实例
- 如何将TypeScript对象转换为普通对象
- Angular 2.0 with JavaScript or TypeScript?
- "实例范围”;TypeScript类的getter/setter
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 从HTML调用typescript文件中的函数
- 如何将js库与typescript一起使用
- 理解typescript中的构造函数接口
- 在gump和nodejs中使用Typescript时,未定义对require和exports的引用
- Typescript导入导出的类会发出require(..),从而导致浏览器错误
- 为其他JS生成定义“;编译器”;来自TypeScript定义文件
- Typescript angularjs$http获取响应类型(避免使用<any>)
- Typescript编译器错误,Angular 1.5组件应为分号
- 应该如何在typescript中键入lodash流函数
- 将JSON转换为typescript中的字符串数组
- 用于在Visual Studio中预览基于我的TypeScript的JavaScript的工具
- 泛型“New”约束等效于 TypeScript
- 用TypeScript输入一个约束字典