verschachtelte Klassen

  • C#

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    verschachtelte Klassen

    Hallo,

    ich habe ein Verständnisproblem bei verschachtelten Klassen. Mal ganz vereinfacht, geht so was ?

    C-Quellcode

    1. public class Class1 {
    2. int a = 123;
    3. Class2 c = new Class2(a);
    4. public class Class2 {
    5. int b = a;
    6. public Class2(int i) {
    7. b = i;
    8. }
    9. }
    10. }



    In meinem Projekt habe ich solch eine Struktur und der Compiler meckert, dass man für a einen Objektverweis benötigt (Zeilen 5 und 8). Die Class2 kann nur existieren wenn es eine Instanz von Class1 gibt. Also müsste zur Laufzeit a vorhanden sein.

    Wie greife ich denn auf Strukturen der übergeordneten Klasse zu?

    Gruß

    MQ
    prinzipiell geht das, Klassen zu verschachteln.
    Praktisch ists aber zu 90% sinnlos.
    Eine eingeschachtelte Klasse hat auf KlassenMember der umgebenden klasse ebensogut oder schlecht Zugriff, wie wenn sie nicht eingeshachtelt wäre.

    MasterQ schrieb:

    Die Class2 kann nur existieren wenn es eine Instanz von Class1 gibt.
    stimmt nicht.
    (Ma abgesehen davon, dass eine Class ja eh nicht existiert. Objekte existieren)

    MasterQ schrieb:

    Wie greife ich denn auf Strukturen der übergeordneten Klasse zu?
    Gar nicht.
    Ändere das Design.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!