Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: Assign für TDictionary implementieren

  Alt 4. Sep 2019, 12:14
Der Scope auf Rtti.TValue ist näher als der auf den generischen Typparameter TValue. Also entweder umbenennen oder Rtti in das Interface uses verschieben. Diese Problematik hab ich auch schon of genug in meinem Dictionary Code gehabt.

Edit: Habs mal getestet, verschieben der unit bringt nichts. Ich würde die Klasse die das Rtti.TValue benutzt in eine andere Unit verfrachten, so dass sie nicht kollidieren - oder den generischen parameter umnennen, ich hab das mal so gelöst gehabt: map<tkey,t>

Übrigens die Schleife über die Keys und dann das Lookup jedes Wertes ist denkbar inperformant. Dann doch lieber direkt mit einer TPair<TKey,TValue> variable per for in über das Dictionary.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 4. Sep 2019 um 12:19 Uhr)
  Mit Zitat antworten Zitat