AGB  ·  Datenschutz  ·  Impressum  







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

Properties überladen?

Ein Thema von Tormentor32 · begonnen am 27. Apr 2007 · letzter Beitrag vom 27. Apr 2007
Antwort Antwort
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#1

Properties überladen?

  Alt 27. Apr 2007, 08:16
Guten Morgen!

Bin grad auf etwas gestoßen! Mal angenommen ich habe eine Listenklasse, die eine verkettete Liste Kapselt. Also

Delphi-Quellcode:
  TMyList = Class
  Private
    Root: TMyListenEintrag;
    GetEintrag(const Index: integer): TMyListenEintrag; overload;
    GetEintrag(const Name: string): TMyListenEintrag; overload;
    {...}
  public
  // Hier habe ich mir überlegt, man kann über den Index und über den Inhalt an einen Eintrag kommen, also zum beispiel über einen string
    property Items[Index: integer]: TMyListenEintrag read GetEintrag; overload;
    property Items[Name: string]: TMyListenEintrag read GetEintrag; overload;
  end;
Ist sowas möglich? Oder geht das nur über zwei überladene Funktionen machen, die mir den Eintrag zurückgeben.

Über den Sinn dieser Methode lässt sich streiten, es geht mir lediglich darum, ob sowas geht, und wenn ja, wie.

Schonmal vielen Dank!
Richard Mahr
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Properties überladen?

  Alt 27. Apr 2007, 09:51
Hallo Richard,

für die Default-Eigenschaft wird es von Delphi inzwischen direkt unterstützt:

Delphi-Quellcode:
type
  TMyList = Class
  Private
    Root: TMyListenEintrag;
    function GetEintrag (const Index: integer): TMyListenEintrag; overload;
    function GetEintrag (const Name: string): TMyListenEintrag; overload;
  public
    property Items [const Index: integer]: TMyListenEintrag read GetEintrag; default;
    property Items [const Name: string]: TMyListenEintrag read GetEintrag; default;
  end;
Wenn es sich nicht um die Default-Eigenschaft handelt, mußt du einen kleinen Umweg in Kauf nehmen.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Properties überladen?

  Alt 27. Apr 2007, 10:06
Danke für die Antwort, das scheint genau das zu sein, nach dem ich gesucht habe!
Kanns im Moment leider nicht ausprobieren...
Richard Mahr
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:36 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