![]() |
AW: Variable mit bestimmbarem Datentyp?
Und bei mir war es auch noch die Typsicherheit, welche bereits im Compiler und nicht erst zur Laufzeit geprüft werden sollte.
Wobei bei mir auch eben nur die beiden Typen (Integer und String) erlaubt waren. |
AW: Variable mit bestimmbarem Datentyp?
Zitat:
Leute, versucht doch nicht immer alle Probleme mit Generics zu erschlagen, wo Generics überhaupt keinen Sinn machen. Polymorphie und Generics passen nunmal nicht zusammen. Bei Generics lege ich zur Compiletime fest, welchen Typ ich haben will und nicht zur Laufzeit. Da würde ich fragen, warum lege ich die Typen der Variablen nicht gleich auf string, Integer und TKlasse fest. Zum Transport von Werten, wo man zur Compilezeit noch nicht weiß, was dort reinkommt, gibt es ![]()
Delphi-Quellcode:
).
AsType<T>
Delphi-Quellcode:
Bitte dran denken: TValue ist strikt, was Typen angeht, hier findet keine Konvertierung von Typen statt, die nicht direkt zuweisungskompatibel sind (also wenn du z.B. einen Integer rein packst, dann wirft AsString eine Exception). ToString hingegen kann einige Typen zu einem String konvertieren.
var
var1, var2, var3: TValue; begin var1 := 'Hello World'; var2 := 42; var3 := myObj; ShowMessage(var1.AsString); ShowMessage(IntToStr(var2.AsInteger); // Alternativ: var2.ToString ShowMessage(var3.AsType<TKlasse>.Message); end; |
AW: Variable mit bestimmbarem Datentyp?
Zitat:
Iterationen mit Variants würde ich aber auch nicht machen, und wenn Performance generell eine Rolle spielt, auch nicht. Und da der Umfang der Variants hier nicht ausreichend zu sein scheint, ist das eh alles Theorie. Ach: Noch ein Argument für Variants: DevExpress, TDatasets etc kommen mit Variants wunderbar zurecht. Würdest Du dir dann eine eigene VCL schreiben? ;-) Oder eine Brücke, damit die generischen Dinger wieder in Variants übersetzt werden? Wieder extra Arbeit, wieder Geld. |
AW: Variable mit bestimmbarem Datentyp?
Zitat:
|
AW: Variable mit bestimmbarem Datentyp?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz