Hallo zusammen.
Mir machen mal wieder die Generics Kopfschmerzen. Ich möchte in einer Settings-Klasse eine generische get-Funktion haben, die mir den gewünschten Typ direkt castet. Das ganze sollte meiner Meinung nach so aussehen:
Delphi-Quellcode:
// Nur als Hinweis:
FValues = TDictionary<string, Variant>;
{ ...}
function TSettings.GetItem<T>(Key: String): T;
begin
Result := T(FValues[Key]);
end;
Das ganze wollte ich dann z.B. so aufrufen:
Delphi-Quellcode:
var
a: TMeineKlasse;
i: Integer;
begin
a := Settings.GetItem<TMeineKlase>('blabla');
i := Settings.GetItem<Integer>('neZahl');
// usw.
Leider bekomme ich als Fehler:
bei meinem cast. Warum geht das nicht und was müsste ich denn ändern?