AGB  ·  Datenschutz  ·  Impressum  







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

Class helper wird übersprungen wenn...

Ein Thema von Der schöne Günther · begonnen am 16. Okt 2014 · letzter Beitrag vom 17. Okt 2014
 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.118 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Class helper wird übersprungen wenn...

  Alt 16. Okt 2014, 19:33
Delphi-Version: 5
Properties im Spiel sind.

Beispiel: Ich schreibe einen Helfer für eine getValue(): Integer -Funktion. Fügt eine Unterklasse oder ein passendes Interface nun eine Property Value: Integer ein, bekommt man über diese Property immer den reinen Getter, ohne die Hilfsfunktion!

Folgende Typen
Delphi-Quellcode:
TSomeClass = class
   public function getValue(): Integer; // Ergibt 42
end;

TSubClass = class(TSomeClass)
   property Value: Integer read getValue;
end;

TSomeClassHelper = class helper for TSomeClass
   public function getValue(): Integer; // Verdoppelt den Wert von getValue()
   public property Value: Integer read getValue;
end;
erzeigen unsinnigerweise folgende Ausgabe:
Code:
   WriteLn( TSomeClass.Create().Value ); // 84
   WriteLn( TSubClass.Create().Value ); // 42

Kann ich etwas dagegen tun oder nur weinen?

Meine Intention war die Methode SetNodeValue(OleVariant) von TXMLNode zu patchen. Und das ruft man üblicherweise über die Property NodeValue von IXMLNode auf.
  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 21:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz