Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Im Setter Änderungen protokollieren --> Endlosschleife
zeh-scharb
myCSharp.de - Member



Dabei seit:
Beiträge: 32

Themenstarter:

Im Setter Änderungen protokollieren --> Endlosschleife

beantworten | zitieren | melden

Die Klasse wird zu erst durch einen XML-Parser gefüllt und anschließend manuell weiterverarbeitet.

Beispiel:

  public class GUI
    {
        //  public String LANGUAGE;

        public string LANGUAGE
        {
            get { return LANGUAGE; }
            set { Console.WriteLine("changed language    " + value); LANGUAGE = value; return; }
        }
   }

Leider hängt er sich beim Füllen auf. Output:
changed language ger
changed language ger
changed language ger
changed language ger
changed language ger
changed language ger
changed language ger
changed language ger
changed language ger
....

Was mache ich falsch?
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 2.029
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

Dein Code endet in einer Endlosschleife!
Du darfst deine Properties bei set nicht bei der Zuweisung verwenden sondern eine eigene interne Variable!
Das selbe auch bei deinem Getter!


private string language = null;

public string Language
{
    get
    {
        return language;
    }
    set
    {
        language = value;
    }
}

T-Virus
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von T-Virus am .
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
WarLorD_XaN
myCSharp.de - Member



Dabei seit:
Beiträge: 111
Herkunft: Austria

beantworten | zitieren | melden

Hallo zeh-scharb,

die Eigenschaft LANGUAGE ist rekursiv, darum wird sich euch deine Anwendung aufhängen (Stichwort: Endlos Schleife).

mfg,
Xan
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1.029
Herkunft: Mainz

beantworten | zitieren | melden

Hi,

du ruft im Setter den Setter auf. -> StackOverflow.

Ich gehe mal davon aus, dass du irgendein anderes Feld ansprechen wolltest?

LG
private Nachricht | Beiträge des Benutzers
zeh-scharb
myCSharp.de - Member



Dabei seit:
Beiträge: 32

Themenstarter:

beantworten | zitieren | melden

Vielen Dank, da hatte ich mal wieder Tomaten auf den Augen 8)
Ich dachte ich würde damit den Standart-Setter überschreiben und habe nicht gemerkt, dass ich ein loop gebaut habe

Mir der "T-Virus-Anpassung" klappt es!
private Nachricht | Beiträge des Benutzers