Я создал базовый класс в Typescript, который имеет универсальный тип и логику для заполнения таблицы данных. Этот класс будет расширен компонентами Angular, которые будут проходить различные классы. Я хотел бы получить свойства универсального типа, чтобы я мог динамически определять заголовки столбцов. Как я могу получить свойства класса, тип которого используется? Пожалуйста, помогите.
Ниже приведено описание того, как я пытался это сделать. Я пытался динамически заполнить displayColumns свойствами класса Dog или Cat:
export class MyBaseClass<T>
{
public displayedColumns: string[] = [];
constructor()
{
let dataItem: T = {} as T;
Object.keys(dataItem).forEach((key: string) => this.displayedColumns.push(key));
}
}
export class PetsComponent extends MyBaseClass<Dog>
{
}
export class Dog
{
public Id: number = 0;
public Name: string = "";
}
export class Cat
{
public Id: number = 0;
public Name: string = "";
}