Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: Generic ObjectList und Suchen - Wie am besten ?
6. Aug 2014, 16: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 16:45 Uhr)
|