Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#5

AW: Assign für TDictionary implementieren

  Alt 4. Sep 2019, 12:37
Unabhängig vom Compilefehler: Die Signatur von Assign ist Unfug - den Source Parameter als TObject zu deklarieren ist unnötig, sowas macht nur Sinn, wenn man eine Abstrakte Basisklasse hat, wie bei TPersistent der Fall, wo erst die Ableitungen dann entscheiden, was sie annehmen - beim generischen Dictionary wohl kaum der Fall.
Auch hier macht der Source Parameter als TObject Sinn, wenn man nicht nur TDictionarys zuweisen möchte...
Aber du prüfst ja direkt, ob es TMyDictionary ist.

if Source is TMyDictionary<TKey, TValue> then

Wenn du irgend etwas anders übergibst, dann erscheint auf jeden Fall ein Fehler.

Dann lieber als Source-Parameter direkt den Type TMyDictionary verwenden. Dann fällt der Fehler direkt beim Compilieren auf.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat