![]() |
Array-Property überladen
Hallo!
Gibt es eine Möglichkeit eine Array-Property einer Klasse zu überladen? Ich würde gerne folgendes erreichen:
Delphi-Quellcode:
Wenn ich dies so implementiere sag mir der Compiler nur "Es gibt eine Überladene Funktion der Array-Eigenschaft Item die mit diesem Argument" aufgerufen werden kann. Daher weiß ich nicht, ob dies generell möglich ist und ich nur einen Fehler bei der implementierung gemacht habe, oder ob das genrell nicht geht..
type
TMyEnum = (meEins, meZwei, meDrei); TMyClass = class(TObject) private function GetItem(Index: Integer): TMyItemType; overload; function GetItem(Index: TMyEnum): TMyItemType; overload; public property Item[Intex: Integer]: TMyItemType read GetItem; property Item[Intex: TMyEnum]: TMyItemType read GetItem; end; ... function TMyClass.GetItem(Index: Integer): TMyItemType; begin result := ... end; function TMyClass.GetItem(Index: TMyEnum): TMyItemType; begin result := ... end; ... Item := MyClass.Item[emEins]; Besten Dank Ares |
Re: Array-Property überladen
|
Re: Array-Property überladen
Hauptproblem sind erstmal die Tyen ... beide Ordinal
aber da der Name in Private doch eher egal ist:
Delphi-Quellcode:
weiter bleibt dann aber noch das Problem mit "property Item", welche nicht unbedingt überladen werden können (abgesehn von Hawkeye219's Link)
TMyClass = class(TObject)
private function GetItemI(Index: Integer): TMyItemType; function GetItemE(Index: TMyEnum): TMyItemType; public property Item[Intex: Integer]: TMyItemType read GetItemI; property Item[Intex: TMyEnum]: TMyItemType read GetItemE; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 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