![]() |
Delphi-Version: 5
Default property (nicht array)
Hallo zusammen,
kann man ein nicht-array property als default deklarieren (oder so ähnlich)? z.B. eine eigene Integer-Klasse (TMyInteger)
Code:
Es geht jetzt natürlich nicht darum ein Integer in einen string zu wandeln, aber die Integer-Klasse soll diverse Funktionen erhalten (onChange-Events, callbacks...).
TMyInteger = class(eine Klasse)
public function ToString : string; property Value : integer read ... write... default; end; myVar : TMyInteger; myVar := 4; showMessage(myVar.ToString); Gibt es eine Möglichkeit sowas in Delphi umzusetzen? In c# kann man sowas umsetzen. |
AW: Default property (nicht array)
Nein, denn dort hat das DEFAULT die "andere" Bedeutung, also die mit dem Default-Wert,
und außerdem weiß Delphi dann nicht, ob das Property verwendet wird, oder die Objektinstanz, wenn man
Delphi-Quellcode:
oder
Obj
Delphi-Quellcode:
benutzt, was bei
Obj
Delphi-Quellcode:
oder
Obj
Delphi-Quellcode:
eindeutig erkennbar ist.
Obj[...]
Zitat:
Dafür sind die Operatoren, aber Diese sind nur bei Records möglich. (seit Delphi 2006 ... falls das Delphi 5 stimmt, welches du da angegeben hast) |
AW: Default property (nicht array)
Delphi 5 stimmt nicht :-) Keine Ahnung wie das da hinkommt.
Nutze Delphi XE4. In C# kann man z.B. mit implicit operator arbeiten. z.B.:
Code:
Gibt es nichts vergleichbares in Delphi?
public static implicit operator int(MyInteger i)
{ return i.value; } |
AW: Default property (nicht array)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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