AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Result im generischen Objekt vorbelegen.

Ein Thema von bernau · begonnen am 5. Mär 2016 · letzter Beitrag vom 7. Mär 2016
 
Benutzerbild von bernau
bernau

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

Result im generischen Objekt vorbelegen.

  Alt 5. Mär 2016, 22:39
Ich will in einer generischen Klasse das Result festlegen, obwohl ich den Type gar nicht kenne.

Ich weis nicht ob das so verständlich beschrieben ist, daher mal ein Beispiel:

Delphi-Quellcode:
type
 TMyGenType<TSonstwas> = class
   private
   protected
     Function MyDefaultValue:TSonstwas;virtual;
   public
end;

Function TMyGenType<TSonstwas>.MyDefaultValue:TSonstwas;
begin
  if TSonstwas is integer then
    integer(Result) := 42;
  if TSonstwas is String then
    string(Result) := '42';
end;
In der Funktion MyDefaultValue möchte ich vorab für einige Typen das Result festlegen. Ein Typecasting und der "is"-Parameter funktionieren natürlich nicht.

Ich habe zwar mittlerweile herausgefunden, wie man mit Hilfe von TValue aus der Rtti-Unit den Typen herausfinden kann. Somit kann ich das "is" schon mal ersetzen. Aber dem Result kann ich nichts zuweisen. Ich weiss zumindest nicht wie. Jemand eine Idee?
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 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