Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Eine Frage zu Generics in generischen Listen

  Alt 5. Mai 2019, 19:22
Als erstes fällt mir auf:
Du arbeitest mit Generics, benutzt aber die nicht generische Objektliste mit Casts?!?

Ich glaube du meintest es so in etwa wie im Anhang:
Delphi-Quellcode:
  TListTypeGeneric<TDataObjectType; TListType: TDataTypeGeneric<TDataObjectType>, IDataIO, constructor> = class(TObjectList<TListType>)
...
Benutzung:
Delphi-Quellcode:
var
  Test: TListTypeGeneric<Integer, TIntegerClass>;
begin
  Test := TListTypeGeneric<Integer, TIntegerClass>.Create;
  try
    Test.AddNewElement.Data := 42;
    ShowMessage(Test.Element[0].ToString); // Oder: Test.Items[0].Data.ToString
  finally
    Test.Free;
  end;
// EDIT:
Das geht aber noch schöner. Ich habe beruflich ein ähnliches Problem gehabt und habe schlicht ein generisches Dictionary benutzt, in dem man Behandlungsroutinen registrieren kann. Auf diese Weise brauchte ich in die konkrete Logik bei der generischen Nutzung keinen weiteren Aufwand mehr hineinstecken solange in dem Dictionary für den jeweiligen Datentyp eine Behandlung hinterlegt war.
Angehängte Dateien
Dateityp: 7z DataListTest.7z (5,2 KB, 12x aufgerufen)
Sebastian Jänicke
AppCentral

Geändert von jaenicke ( 5. Mai 2019 um 19:26 Uhr)
  Mit Zitat antworten Zitat