Typescript ';ITestData';可分配给类型为';IEntityData';,但是';IEntityData';可以使用不同的约束子类型实例化

Typescript ';ITestData';可分配给类型为';IEntityData';,但是';IEntityData';可以使用不同的约束子类型实例化,typescript,generics,inheritance,constraints,extend,Typescript,Generics,Inheritance,Constraints,Extend,我有两节课。抽象超类: export abstract class Entity<IEntityData> { protected readonly _source: IEntityData; // TODO: replace with private protected constructor(entityData: IEntityData) { this._source = entityData } get source(): IEntityData { ret

我有两节课。抽象超类:

export abstract class Entity<IEntityData> {
  protected readonly _source: IEntityData; // TODO: replace with private


  protected constructor(entityData: IEntityData) { this._source = entityData }

  get source(): IEntityData { return this._source }
}

天哪!断然的!我刚刚替换了这个:

constructor(testData: ITestData) {
  super(testData);
}
为此:

constructor(testData: IEntityData) {
  super(testData);
}
constructor(testData: ITestData) {
  super(testData);
}
constructor(testData: IEntityData) {
  super(testData);
}