Generics 用泛型T扩展类

Generics 用泛型T扩展类,generics,typescript,Generics,Typescript,在TypeScript中,有没有一种方法可以用泛型类型扩展类?请参阅我的“假设场景”示例,其中我希望我的类具有名为“breed”(或其他)的属性: 接口狗{ 品种:弦; } 出口类动物{ 腿:数字; } 出口类主要{ 私家犬:动物=新动物(); 构造函数(){ this.mydog.legs=4; this.mydog.bride=“husky”/您不能这样做,因为类是在编译时定义的,并且当编译动物类时,t是未知的 但是,您可以在动物内部定义类型为T的属性 接口狗{ 品种:弦; } 出口级动物{

在TypeScript中,有没有一种方法可以用泛型类型扩展类?请参阅我的“假设场景”示例,其中我希望我的类具有名为“breed”(或其他)的属性:

接口狗{
品种:弦;
}
出口类动物{
腿:数字;
}
出口类主要{
私家犬:动物=新动物();
构造函数(){
this.mydog.legs=4;

this.mydog.bride=“husky”/您不能这样做,因为类是在编译时定义的,并且当编译动物类时,t是未知的

但是,您可以在动物内部定义类型为T的属性

接口狗{
品种:弦;
}
出口级动物{
实际值:T;
腿:数字;
}
出口类主要{
私人mydog:animal=新动物();
构造函数(){
this.mydog.legs=4;
this.mydog.actual.bride=“husky”//这将失败,因为actual未定义(您也必须设置它)
}
}
我想这取决于为什么需要将animal类设置为泛型,但也可以将dog扩展为animal

出口级动物{
腿:数字;
}
狗类动物{
品种:弦;
}
出口类主要{
私人mydog:dog=新狗();
构造函数(){
this.mydog.legs=4;
this.mydog.breed=“赫斯基”;
}
}

感谢您的回复——有时是代码形式的回复——如果您不能,您就不能。@MarzSocks确实如此,但如果您能提供更多关于为什么需要此设置的信息,也许我们可以找到更适合您需要的解决方案。:)
interface dog {
  breed: string;
}

export class animal<T> extends T {
  legs: number;
}

export class main {
  private mydog: animal = new animal<dog>();

  constructor() {
    this.mydog.legs = 4;
    this.mydog.breed = "husky"; //<-- not conventionally possible, but basically want to acheive this
  }
}