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
Set Mechanismus funkt nicht
NonSense
myCSharp.de - Member

Avatar #avatar-1990.gif


Dabei seit:
Beiträge: 73
Herkunft: OÖ

Themenstarter:

Set Mechanismus funkt nicht

beantworten | zitieren | melden

Hi,
Ich habe ein problem:


        //Bilder Liste deklarieren
        ArrayList Bilder = new ArrayList();
        
        public ArrayList Liste
        {
            set
            {
                this.Liste = Bilder;
                for (int x = 0; x < 5; x++)
                {
                    Bilder.Remove("");
                }
            }
        }
das funktioniert nicht, was habe ich falsch gemacht?
mfg
private Nachricht | Beiträge des Benutzers
talla
myCSharp.de - Experte

Avatar #avatar-3214.jpg


Dabei seit:
Beiträge: 6.862
Herkunft: Esslingen

beantworten | zitieren | melden

this.Liste = Bilder;

Die Zeile passt zum Nick Kleiner scherz.

Dadurch das du deinem Property im Set Zweig wieder was zuweist, wirst du immer da drin bleiben weil du dich laufend selber aufrufst. Wenn du den Wert haben willst der dem Setter übergeben wurde, musst du mit value drauf zugreifen. value hat immer den Typ vom Property.
Baka wa shinanakya naoranai.

Mein XING Profil.
private Nachricht | Beiträge des Benutzers
progger
myCSharp.de - Member

Avatar #avatar-2094.gif


Dabei seit:
Beiträge: 1.271
Herkunft: Nähe von München

beantworten | zitieren | melden

Das müsste eine StackOverflow-Exception geben, weil du im Setter immer wieder den Setter aufrufst. Ehrlich gesagt versteh ich auch überhaupt nicht, was du mit dem Code bezwecken willst und es wirkt so, als hättest du einiges noch nicht verstanden.
Am besten erklärst du mal, was du machen willst.
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
private Nachricht | Beiträge des Benutzers
NonSense
myCSharp.de - Member

Avatar #avatar-1990.gif


Dabei seit:
Beiträge: 73
Herkunft: OÖ

Themenstarter:

beantworten | zitieren | melden

nicht mein fehler.Bin noch neu in C# und ich habe das aus einem Buch(Visual C# 2005)
danke für die schnelle Antwort.
mfg


public ArrayList Liste
        {
            set
            {
                value = Bilder;
                for (int x = 0; x < 5; x++)
                {
                    Bilder.Remove("");
                }
            }
        }
so funkts
private Nachricht | Beiträge des Benutzers
progger
myCSharp.de - Member

Avatar #avatar-2094.gif


Dabei seit:
Beiträge: 1.271
Herkunft: Nähe von München

beantworten | zitieren | melden

Für mich ist dieser Code allerdings immer noch NonSense (musste einfach nochmal sein :D).
value ist eine Referenz auf das, was zugewiesen wird. Es bringt überhaupt nichts diese Referenz auf Bilder zu ändern. Außerdem macht der Code meiner Meinung nach nichts, was in einen Setter gehört.
Ich denk mal du verstehst da noch nicht viel (mit Refrenzen usw.). Ich rate dir auch das "guide to C#" auf dieser Seite durchzulesen. Das bringt dir fürn Anfang einen schnelleren Einstieg.
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
private Nachricht | Beiträge des Benutzers
der Marcel
myCSharp.de - Member

Avatar #avatar-1860.gif


Dabei seit:
Beiträge: 564
Herkunft: Dresden

beantworten | zitieren | melden

Hi NonSense!

Was möchtest du denn eigentlich machen? Bist du dir sicher, dass der Code wirklich funktioniert? Ich denke nicht.

der Marcel
:] :DDer größte Fehler eines modernen Computers sitzt meist davor :]
private Nachricht | Beiträge des Benutzers
v1vec
myCSharp.de - Member



Dabei seit:
Beiträge: 52

beantworten | zitieren | melden

Ich versteh den Sinn dahinter nich ganz
Also wenn man jetz schreibt

Liste EineListe = new Liste();
Liste AndereListe = new Liste(foo);

EineListe = AndereListe;
erwartet man doch das EineListe modifiziert wird und nich umgekehrt oder?
Falls du wirklich das bezweckst was du geschrieben hast solltest du eine Funktion schreiben und set und get in Frieden lassen.
private Nachricht | Beiträge des Benutzers