在Typescript中,如何创建一个通用服务来调用由类型参数定义的模型上的静态方法

在Typescript中,如何创建一个通用服务来调用由类型参数定义的模型上的静态方法,typescript,dependency-injection,sequelize-typescript,Typescript,Dependency Injection,Sequelize Typescript,我想这样做: import {Company} from 'company.model.ts' @Service() export class CompanyService extends BaseService<Company> { constructor() { super() this.Model = Company } } @Service() export class BaseService<T extends typeof Model&g

我想这样做:

import {Company} from 'company.model.ts'

@Service()
export class CompanyService extends BaseService<Company> {
  constructor() {
    super()
    this.Model = Company
  }
}

@Service()
export class BaseService<T extends typeof Model> {
  Model: typeof T
  async findAll(input) {
    return await this.Model.create(input)
  }
}
从'Company.model.ts'导入{Company}
@服务()
导出类公司服务扩展BaseService{
构造函数(){
超级()
这个。模型=公司
}
}
@服务()
导出类基本服务{
型号:T型
异步findAll(输入){
返回等待this.Model.create(输入)
}
}
我想对类型为
typeoft
的类调用静态方法

另外,是否有一种方法可以避免将T的类型分配给实例变量?

解决方案是使用:

Model: {new(): T} & typeof Sequelize.Model
感谢:

解决方案是使用:

Model: {new(): T} & typeof Sequelize.Model
感谢: