C#: Objekt einer Klasse in Laufzeit generiern

Gast #3936494
Ich bin ziemlich neu bei der Programmierung mit C# und stehe jetzt vor 
einem Problem.
Ich habe eine Klasse, in der verschiedene Eigenschaften deklariert sind 
und weiß auch, wie ich während der Entwicklung ein neues Objekt dieser 
Klasse erstelle. In meiner Anwendung soll der Benutzer aber die 
Möglichkeit haben, auf einen "+"-Button zu drücken und dann in einem 
sich öffnenden Fenster Werte einzugeben. Bei klicken auf "OK" wird dann 
ein neues Objekt generiert, dass diese Werte übertragen bekommt.
Meine Frage ist jetzt, wie ich während der Laufzeit ein neues Objekt 
erstelle.

Wäre nett, wenn mir wer weiterhelfen könnte.
Gast
Danke für die schnelle Antwort. Vielleicht habe ich mich schlecht 
ausgedrückt.
Ich meine, dass der Benutzer die Möglichkeit haben soll eine unbegrenzte 
Anzahl an Objekten zu erstellen, also jedes Mal, wenn er auf "+" klickt.
Gast
Paul Gillesberger schrieb:
> Ich meine, dass der Benutzer die Möglichkeit haben soll eine unbegrenzte
> Anzahl an Objekten zu erstellen, also jedes Mal, wenn er auf "+" klickt.

ich versteht das Problem immer noch nicht. Einfach die neuen Objekte in 
eine Liste einfügen bei jedem "+".
Gast
Dann musst du die Objekte (oder besser gesagt: die Referenzen) in einer 
geeigneten Datenstruktur ablegen.

Z.B. in einer "List<DeinTyp>":

list.Add(new DeinTyp(... Parameter ...));
Gast
Okay, danke für die Antworten. Mit der List<> funktioniert es eigentlich 
gut. Eine Frage nur noch: Ich habe die Daten an eine ListBox gebunden 
und wenn ich auf "+" klicke werden auch die eingegebenen Parameter 
angezeigt, wenn ich aber nochmal drauf klicke, verändert sich nichts. 
Wird nur das Binding nicht aktualisiert, da die Werte ja eigentlich 
generiert werden sollten?
Paul Gillesberger schrieb:
> Okay, danke für die Antworten. Mit der List<> funktioniert es eigentlich
> gut. Eine Frage nur noch: Ich habe die Daten an eine ListBox gebunden
> und wenn ich auf "+" klicke werden auch die eingegebenen Parameter
> angezeigt, wenn ich aber nochmal drauf klicke, verändert sich nichts.
> Wird nur das Binding nicht aktualisiert, da die Werte ja eigentlich
> generiert werden sollten?

Genau, List<> teilt der ListBox nicht mit, dass etwas verändert wurde.
Wenn statt List<> BindingList<> verwendet wird, sollte es funktionieren.
Gast
Danke!
Wenn ich jetzt allerdings mit einem weiteren Button z.B. die IsReadOnly 
Eigenschaft einer TextBox in einem ListBox Template verändern möchte, 
werden immer alle umgestellt.
Gibt es dafür eine Lösung?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.