AGB  ·  Datenschutz  ·  Impressum  







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

Delphi Property nach C# übertragen

Ein Thema von Luckie · begonnen am 19. Nov 2007 · letzter Beitrag vom 19. Nov 2007
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Delphi Property nach C# übertragen

  Alt 19. Nov 2007, 10:47
Wie realisiert man folgerndes Konstrukt in C#:
property Items[Index: Integer]: TCard read GetItem write SetItem;
Delphi-Quellcode:
function TMemoryField.GetItem(Index: Integer): TCard;
begin
  Result := FCards.Items[Index];
end;

procedure TMemoryField.SetItem(Index: Integer; const Value: TCard);
begin
  FCards.Items[Index] := Value;
end;
Ich probiere es gerade so:
Code:
        public Person Item(int Index, Person person)
        {
            get
            {
                return innerList[Index];
            }
            set
            {
                innerList[Index] = person;
            }
        }
Aber da will er nach get und set eine Semikolon haben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#2

Re: Delphi Property nach C# übertragen

  Alt 19. Nov 2007, 10:52
Code:
public Person Item[int index]
        {
            get
            {
                return innerList[Index];
            }
            set
            {
                innerList[Index] = person;
            }
        }
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Delphi Property nach C# übertragen

  Alt 19. Nov 2007, 11:00
Äh, nein. Das bringt 13 Fehler.

Code:
        public Person Item[int index]
        {
            get
            {
                return innerList[index];
            }
            set
            {
                innerList[Index] = person;
            }
        }
Zeile 1 (eckige Klammer): Error 1 Bad array declarator: To declare a managed array the rank specifier precedes the variable's identifier. To declare a fixed size buffer field, use the fixed keyword before the field type. C:\Dokumente und Einstellungen\mp\Eigene Dateien\Visual Studio 2008\Projects\Container_Klasse\Container_Klasse\Pe rson.cs 110 27 Container_Klasse

Zeile 1 (int): Error 2 Array size cannot be specified in a variable declaration (try initializing with a 'new' expression) C:\Dokumente und Einstellungen\mp\Eigene Dateien\Visual Studio 2008\Projects\Container_Klasse\Container_Klasse\Pe rson.cs 110 28 Container_Klasse

Zeile 1 (index): Error 3 Invalid expression term 'int' C:\Dokumente und Einstellungen\mp\Eigene Dateien\Visual Studio 2008\Projects\Container_Klasse\Container_Klasse\Pe rson.cs 110 32 Container_Klasse

Zeile 4: Error 5 Invalid token '{' in class, struct, or interface member declaration C:\Dokumente und Einstellungen\mp\Eigene Dateien\Visual Studio 2008\Projects\Container_Klasse\Container_Klasse\Pe rson.cs 113 13 Container_Klasse

Zeile 5: Error 6 Invalid token '[' in class, struct, or interface member declaration C:\Dokumente und Einstellungen\mp\Eigene Dateien\Visual Studio 2008\Projects\Container_Klasse\Container_Klasse\Pe rson.cs 114 33 Container_Klasse

Zeile 5 (;): Error 7 Type expected C:\Dokumente und Einstellungen\mp\Eigene Dateien\Visual Studio 2008\Projects\Container_Klasse\Container_Klasse\Pe rson.cs 114 40 Container_Klasse

Zeile 5 (;): Error 8 Invalid token ';' in class, struct, or interface member declaration C:\Dokumente und Einstellungen\mp\Eigene Dateien\Visual Studio 2008\Projects\Container_Klasse\Container_Klasse\Pe rson.cs 114 40 Container_Klasse

Zeile 9 (=): Error 10 Expected class, delegate, enum, interface, or struct C:\Dokumente und Einstellungen\mp\Eigene Dateien\Visual Studio 2008\Projects\Container_Klasse\Container_Klasse\Pe rson.cs 118 34 Container_Klasse


usw.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
934 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Delphi Property nach C# übertragen

  Alt 19. Nov 2007, 11:12
Hi,

vielleicht so:
Code:

class Person : CollectionBase
{
...
 public Person this(int index)
 {
   get { return((Person)List[index]); }
   set { List[index] = value; }
 }
...
}
siehe auch: Galileo Computing

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Delphi Property nach C# übertragen

  Alt 19. Nov 2007, 11:13
Nein, nein. So sieht es bisher bei mir aus:
Code:
class PersonenListe
    {
        private List<Person> innerList;

        public PersonenListe()
        {
            innerList = new List<Person>();
        }

        public void Add(Person person)
        {
            innerList.Add(person);
        }

        public int Count
        {
            get
            {
                return innerList.Count;
            }
        }

        public Person Item(int index)
        {
            get
            {
                return innerList[index];
            }
            set
            {
                innerList[index] = person;
            }
        }
    }
Mit den runden Klammer bei public Person Item(int index) will er wieder die Semikola hiter get und set haben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#6

Re: Delphi Property nach C# übertragen

  Alt 19. Nov 2007, 11:20
Zitat von Luckie:
Äh, nein. Das bringt 13 Fehler.
Probier mal
Code:
    public Person this[int index]
    {
        get
        {
            return ((Person)innerList[index]);
        }
        set
        {
            innerList[index] = value;
        }
    }
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
934 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Delphi Property nach C# übertragen

  Alt 19. Nov 2007, 11:34
Mag sein, lese oder überfliege den Artikel und den darauf folgenden.
Dort wird alles zum Thema erklärt.

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Delphi Property nach C# übertragen

  Alt 19. Nov 2007, 11:53
@Phoenix: Jupp, so geht es.

@AlterMann: Ich wollte es ohne der besagten Klasse aus dem Artikel machen. Das wäre jetzt ein weitere Ansatz, den ich mir mal angucken kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 19:14 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