Ich versuche, ein neues Objekt eines Typparameters in meiner generischen Klasse zu erstellen. In meiner Klasse habe View
ich zwei Listen von Objekten vom generischen Typ, die als Typparameter übergeben wurden. Wenn ich jedoch versuche, sie zu new TGridView()
erstellen, sagt TypeScript:
Symbol 'TGridView konnte nicht gefunden werden
Dies ist der Code:
module AppFW {
// Represents a view
export class View<TFormView extends FormView, TGridView extends GridView> {
// The list of forms
public Forms: { [idForm: string]: TFormView; } = {};
// The list of grids
public Grids: { [idForm: string]: TGridView; } = {};
public AddForm(formElement: HTMLFormElement, dataModel: any, submitFunction?: (e: SubmitFormViewEvent) => boolean): FormView {
var newForm: TFormView = new TFormView(formElement, dataModel, submitFunction);
this.Forms[formElement.id] = newForm;
return newForm;
}
public AddGrid(element: HTMLDivElement, gridOptions: any): GridView {
var newGrid: TGridView = new TGridView(element, gridOptions);
this.Grids[element.id] = newGrid;
return newGrid;
}
}
}
Kann ich Objekte aus einem generischen Typ erstellen?
new()
muss das auch - oder ein allgemeinerer:type: {new(...args : any[]): T ;}