Forum: Object-Pascal / Delphi-Language
by himitsu,
6. Jun 2014
In Delphi ist das mit den Generics auch möglich. :wink:
(seit 5 Jahren und seit 7 in der .Net-Ecke)
Forum: Object-Pascal / Delphi-Language
by himitsu,
6. Jun 2014
Ja, das ist bei den Generics auch ein Vorteil ... die Typsicherheit.
Wobei der Beispielfunktion das nicht auffällt, da der ja egal ist, was im Variant steckt.
Aber grundsätzlich stimmt das.
Für ein paar Projekte hatte ich mir da z.B. einen Record selber geschrieben, da Default-ArrayProperty nicht überladen werden konnten.
Das war dann ein kleiner Record, welcher über implizite Casts mit...
Forum: Object-Pascal / Delphi-Language
by himitsu,
6. Jun 2014
Ich meinte das so:
var
a, b: Variant;
x, y: Integer;
begin
SwapTwoValues(a, b);
SwapTwoValues(x, y); // geht nicht
end;
Natürlich ist es nahezu egal, was man in die Variant-Variablen rein packt, (der Funktion ist es total egal, nur es passt nicht alles in einen Variant rein)
Forum: Object-Pascal / Delphi-Language
by himitsu,
6. Jun 2014
Hast du das ausprobiert?
Das sollte so aber nicht gehn, denn VAR-Parameter und übergebene Variable müssen eigentlich den selben Typ besitzen. :gruebel:
Und genau da haben die Generics ihren Vorteil, denn man kann den Typ ändern auswählen.