Objektübergabe zwischen zwei Klassen



  • Ich habe eine Klasse "Namen", in welcher mehrere Strings gespeichert sind. Im Kontext eines Windows Forms (Form1) gibt der Benutzer Daten ein und diese Daten werden dann in einer Instanz von "Namen" verspeichert.

    Wenn der Benutzer mit der eingabe Fertig ist, kann er auf einen Button "auswerten" klicken, woraufhin sich ein neues Form (Form2) öffnet, in dem der Benutzer bestimmte Dinge eingeben kann.

    Eine Methode, welche über einen Buttonklick auf Form2 gestartet werden kann, muss auf Daten zurückgreifen, welche in der Instanz von Namen die in Form1 erstellt wurde, gespeichert sind.

    In c++ würde ich die Klasse "Namen" eben so global anlegen, dass sowohl Methoden von Form1, als auch jene aus Form2 darauf zugreifen können. In c# weiss ich leider nicht, wie ich sowas realisieren kann.

    Form 1 enthält:

    private Namen Nmn;
    

    In einer Klassenmethode von Form1 wird der Konstruktor aufgerufen und die Werte Initialisiert.

    Nmn = new Namen();
    Nmn.vorname = "hansi";
    Nmn.nachname = "Meier";
    // usf..
    

    Jetzt brauche ich in Form2 zugriff auf eben diese Instanz. Wie mache ich das in C# am Besten? soll ich versuchen, dass Objekt im Konstruktor von Form2 zu übergeben, oder gibt es da eine gescheitere Lösung?



  • private Namen Nmn;
    

    Hat es vielleicht was mit dem "private" zu tun?



  • ich denke nicht.



  • saruman@work schrieb:

    soll ich versuchen, dass Objekt im Konstruktor von Form2 zu übergeben

    Ja.


Anmelden zum Antworten