Benutzer mit den meisten Antworten
Getter&Setter nicht abrufbar in WPF Projekt

Frage
-
Hallo Leute,
VS zeigt mir die im Anhang aufgezeigte Meldung. Beim Debuggen stellt sich tatsächlich raus, dass dem integer nix zugewiesen wird.Warum nicht? Ich weise der Propertie durch
MainWindow.counter=0; MainWindow.counter++;
doch einen Wert zu. Warum wird das nicht verarbeitet? In WinForm Projekten ist mir so ein Verhalten noch nie aufgefallen. Wie kann das sein? Die obigen zwei Zeilen werden beim Debugging übersprungen.
- Bearbeitet tklustig Sonntag, 6. Oktober 2019 13:38
Antworten
-
Hallo,
public static int Counter { get { return value; } set { value = 0; } } private static int value = 0;//Dieses variabel ist das Problem
Du solltest wissen das das value im der Eigenschaft Couter nicht das selbe ist value wie in der variabel.
Den Namen value sollte man auch nicht verwendet. Wenn Du unbedingt diesen Namen nutzen willst, schreib zumindest _value. In diesem Kontext ist value ein Schlüsselwort
Gruß Thomas
13 Millionen Schweine landen jährlich im Müll
Dev Apps von mir: UWP Segoe MDL2 Assets, UI Strings
- Bearbeitet Thomas Wycichowski Montag, 7. Oktober 2019 17:54
- Als Antwort markiert tklustig Mittwoch, 9. Oktober 2019 16:13
Alle Antworten
-
Hi,
abgesehen davon, dass ich nicht verstehe, warum Du eine statische Eigenschaft verwenden willst, setzt Du den Wert im setter immer auf 0, niemals auf den Wert, der über MainWindow.counter = <zahl> übergeben wird. Daher wird da auch niemals was anderes drinstehen als 0.
Ich nehme mal an, Du liest im getter die Variable value aus? Falls ja, warum?
Schreib doch einfach:
private int Counter { get; set; }
und setz den Wert dann über:
this.Counter = 4711;
oder
this.Counter += 1;
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport -
Das ist mir alles klar. Das Ding ist jedoch: Der Wert wird nicht aufgerufen. Egal, wie ich es mache, es kommt die im ersten Screenshot, oben,zu Beginn aufgezeigte Meldung. Obgleich ich im Debugging an die entsprechende Stelle komme, der Wert wird nicht eingeblendet. Auch die MessageBox wird nicht angezeigt....
- Bearbeitet tklustig Montag, 7. Oktober 2019 17:38
-
Hallo,
public static int Counter { get { return value; } set { value = 0; } } private static int value = 0;//Dieses variabel ist das Problem
Du solltest wissen das das value im der Eigenschaft Couter nicht das selbe ist value wie in der variabel.
Den Namen value sollte man auch nicht verwendet. Wenn Du unbedingt diesen Namen nutzen willst, schreib zumindest _value. In diesem Kontext ist value ein Schlüsselwort
Gruß Thomas
13 Millionen Schweine landen jährlich im Müll
Dev Apps von mir: UWP Segoe MDL2 Assets, UI Strings
- Bearbeitet Thomas Wycichowski Montag, 7. Oktober 2019 17:54
- Als Antwort markiert tklustig Mittwoch, 9. Oktober 2019 16:13