![]() |
Delphi-Version: XE7
Generisches Objekt - Zwei T-Variablen vergleichen
Hallo,
Ist sowas möglich:
Delphi-Quellcode:
Ich kann schon gewissermaßen verstehen warum es nicht geht, aber gibt es eine Möglichkeit sowas hinzukriegen? (Ggf. auf Umwegen)
type
TKlasse<T> = class(TObject) a: T; b: T; function Funktion: Integer; end; function TKlasse<T>.Funktion: Integer; begin if a = b then // Operator ist auf diesen Operandentyp nicht anwendbar Result := 1 else Result := 3; end; |
AW: Generisches Objekt - Zwei T-Variablen vergleichen
Delphi-Quellcode:
uses
System.Generics.Defaults; function TKlasse<T>.Funktion: Integer; begin // if a = b then // Operator ist auf diesen Operandentyp nicht anwendbar if TEqualityComparer<T>.Default.Equals(a, b) then Result := 1 else Result := 3; end; |
AW: Generisches Objekt - Zwei T-Variablen vergleichen
Oder so:
Delphi-Quellcode:
type
TKlasse<T: IComparable> = class(TObject) a: T; b: T; function Funktion: Integer; end; function TKlasse<T>.Funktion: Integer; begin if (0 = a.CompareTo(b)) then Result := 1 else Result := 3; end; |
AW: Generisches Objekt - Zwei T-Variablen vergleichen
Zitat:
|
AW: Generisches Objekt - Zwei T-Variablen vergleichen
Uwe Raabe: Danke so klappts! :)
|
AW: Generisches Objekt - Zwei T-Variablen vergleichen
Zitat:
|
AW: Generisches Objekt - Zwei T-Variablen vergleichen
Das ist klar, aber für meine Zwecke sollte das ausreichen, danke ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 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-2025 by Thomas Breitkreuz