![]() |
Exception bei property-Deklaration
Hier deklariere ich eine Eigenschaft:
Code:
Jetzt wird bei der get-Zugriffsmethode aber eine Exceptioni ausgelöst...
public int Abfrage {
get { return Abfrage;// Fehler } set { if (value != Abfrage) Abfrage = value; } } Zitat:
Die Eigenschaft steht in einer selbst erstellten Klasse. Hier einmal die Instanzerzeugung:
Code:
Ich hab auch schon in einem seperaten Projekt getestet, ob diese Eigenschaft oben eine Fehlermeldung gibt (da aber in der Hauptklasse). Da funktioniert es, nur hier nicht... :?
einkauf Einkauf = new einkauf();
Hat jemand 'ne Idee, was das sein könnte? |
Re: Exception bei property-Deklaration
Moin!
Hmm, die Property heisst "Abfrage" - und wenn sie gelesen wird, dann soll sie den Wert der Property "Abfrage" zurückliefern, die wiederrum, wenn sie gelesen wird, den Wert der Property "Abfrage" zurückliefert, welche, wenn sie gelesen wird, den Wert der Property "Abfrage" zurückliefert, welche aber nur den Wert der Property "Abfrage" zurück gibt, diese gibt aber immer nur den Wert der Property "Abfrage" zurück.... Ich habe kein Bock und könnte hier aber noch seitenweise schreiben, bis die Message zu gross wird (vergleichbar mit dem System.StackOverflowExcetion...) Alles klar? Variablen immer anders benennen als die Properties. Der Compiler nimmt bei Namensgleichheit eh die am besten sichtbarste und die höchste Sichtbarkeit hat eine öffentliche Property - vor dem Klassenmember Variable... MfG Muetze1 |
Re: Exception bei property-Deklaration
Hm, danke... ich will aber nun die Property lesen können und den aktuellen Wert herauslesen. Eigentlich wollte ich statt der Property eine Variable nehmen, aber ich wurde im Chat beschimpft, als ich nach globalen Variablen in C# gefragt hab :mrgreen:
Deshalb hab ich das als Property umgeschrieben... und jetzt weiß ich nicht, wie ich den Wert ermitteln kann :? Übrigens ist in meinem Buch "Die C# Programmiersprache" ein ähnliches Beispiel:
Code:
Und da scheint sowas ja nciht aufzutreten :?
public int count {
get { return count; } } |
Re: Exception bei property-Deklaration
Zitat:
|
Re: Exception bei property-Deklaration
Zitat:
|
Re: Exception bei property-Deklaration
Die Alternative habe ich doch beschrieben : C-Forum. Wenn Du das mit C machen willst, dann frage doch nicht in einem Delphi-Forum. Allerdings war so was schon zu erwarten mit der C# Auswahl. 8) Die C-Syntax bietet sehr viel Anlaß zum Nachfragen und ist sehr schwer zu lesen.
Edit : Mütze hat besser geguckt als ich. Trotz C ist der Code nicht astrein. In Delphi wäre es kaum besser. Wobei ich aber bezweifle, daß dann so was überhaupt compiliert würde. |
Re: Exception bei property-Deklaration
Warum in einem C-Forum fragen.
Code:
1. Deine variable abfrage definieren
private int abfrage = 0;
Code:
2. das Property:
public int Abfrage
{ get { return abfrage; } set { if (value != abfrage) abfrage = value; } } du hast immer dem Properety den neuen Wert zu gewiesen oder auslesen wollen, was falsch ist. Mit Propertties kommst du am private Variablen deiner Klasse ran. Du hast die Variable "abfrage" nicht mit dem Property "Abfrage" verwechselt.
Code:
3. Das Property nutzen. Jetzt weißt du deiner privaten Variable "abfrage" einen Wert zu oder rufst ihn ab ohne die Variable als public zu definieren.
MessageBox.Show(Abfrage.ToString());
Abfrage = 25; MessageBox.Show(Abfrage.ToString()); André |
Re: Exception bei property-Deklaration
Zitat:
Zitat:
|
Re: Exception bei property-Deklaration
Ah, danke Leute! :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 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