Einzelnen Beitrag anzeigen

Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#3

AW: Wie kann ich Generics an overloaded Methode weitergeben

  Alt 28. Okt 2024, 12:44
Wenn man den Typ "einschränkt", dann compiliert es:

class Function ArrToJSON<T: TJSONArray>(const aArr:TArray<T>):String; Leider kann man nur auf Klassen, Interfaces und Records einschränken, nicht auf String, Integer etc.


Aber du könntest sowas versuchen (ungetestet):

Delphi-Quellcode:
  if TypeInfo(T) = TypeInfo(string) then
    JSArr.Add(String(element))
  else if TypeInfo(T) = TypeInfo(Double) then
    JSArr.Add(Double(element))
  ...
  else
    Raise Exception.Create((PTypeInfo(TypeInfo(T))^.Name + ' not allowes');
  Mit Zitat antworten Zitat