Kurz skizziert:
Delphi-Quellcode:
type
TAufgabe = class
public
constructor Create; virtual; //!
...
TAufgabeClass = class of TAufgabe;
TDictionary<String, TAufgabeClass> Dic;
Dic.Add('F1', TAufgabe);
Dic.['F1'].Create;
/add: Ah, auf dem richtigen Weg warst du ja schon