Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#27

AW: Generic ObjectList und Suchen - Wie am besten ?

  Alt 6. Aug 2014, 15:42
Und dann gibt es noch
Delphi-Quellcode:
TDriverList<T:TDriverBase> = ...
  ...
  function FindById( const AID : string ) : T; overload;
  function FindById<TFind : T>( const AID : string ) : TFind; overload;
end;

function TDriverList<T>.FindById<TFind>( const AID : string ) : TFind;
begin
  Result := Find(
    function( Arg : T ) : Boolean
    begin
      Result := ( Arg is TFind ) and ( Arg.ID = AID );
    end ) as TFind;
end;
und du hast deine Spezialklassen auch typsicher abgebildet
Delphi-Quellcode:
var
  MyDriverList : TDriverList<TDriverBase>;
  MySpecialDriver : TSpecialDriver;

MySpecialDriver := MyDriverList.FindById<TSpecialDriver>( '42' );
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 6. Aug 2014 um 15:45 Uhr)
  Mit Zitat antworten Zitat