none
Parent einer eigenen Klasse abrufen RRS feed

  • Frage

  • Ich habe ein Projekt mit einer etwas komplexeren KlassenStruktur mit mehreren Unterklassen. Allerdings muss ich manchmal Informationen aus der Übergeordneten Klasse auslesen - Wie mach ich das?

    Ich habe probiert die Benötigten Variablen als Friend zu Deklarieren, brachte allerdings nicht den erfolg

    Man könnte die Parent-Klasse in der Untergeordneten abspeichern, allerdings würde man, meiner Ansicht nach, dann die gesamte Klasse incl. Unterklassen nochmal komplett in den Speicher schreiben

    Im wesentlichen soll es so funktionieren, wie die .Parent Eigenschaft bei allen Steuerelementen - allerdings nur als ReadOnly und die Übergeordnete Klasse zurückgeben


    Bsp:
    Ein Zugriff der Untergeordneten Klasse auf die Eigenschaft "Test" der Übergeordneten sollte ca. so aussehen: Me.Parent.Test

    Ich hoffe Ihr könnt mir helfen
    Samstag, 21. März 2009 00:34

Antworten

  • Wenn Du einen Verweis / eine Referenz auf ein anderes Objekt speicherst, wird das Objekt dadurch nicht kopiert (wenn wir mal von Wertetypen absehen, um die es Dir hier nicht ging). Es wird lediglich ein Zeiger auf das Originalobjekt gespeichert. Die vermutete hohe Speicherbelastung, wegen derer Du offenbar Sorgen hast, tritt also nicht ein.
    • Als Antwort markiert Agnag Dienstag, 24. März 2009 13:48
    Dienstag, 24. März 2009 11:11

Alle Antworten

  • Hi,

    Also, wenn ich das richtig verstanden habe, ist das Schlüsselwort, das du suchst: MyBase.
    So kannst du bei deinem Beispiel mit MyBase.Test auf die Eigenschaft "Test" der Vaterklasse zugreifen (sofern diese nicht Private ist).
    P.S.:
    Wenn du dann eine Eigenschaft mit gleichem Namen in der child-Klasse hast, kannst du auf diese mit MyClass zugreifen.

    mit freundlichen Grüßen
    Imperium_Romanum

    MAY THE SOURCE BE WITH YOU!
    Sonntag, 22. März 2009 07:22
  • Nein, es hat so leider nicht funktioniert. Ich habe es mit folgenden Code probiert und da gibt es nur sich selber zurück - quasi ein rekursiver aufruf auf sich selbst.

    Dim x As Klasse = MyBase.MemberwiseClone

    Gibt es auch eine Möglichkeit damit über mehrere Ebenen zu arbeiten?
    • Bearbeitet Agnag Dienstag, 24. März 2009 10:45 hat doch nicht funktioniert
    Sonntag, 22. März 2009 16:17
  • Wenn Du einen Verweis / eine Referenz auf ein anderes Objekt speicherst, wird das Objekt dadurch nicht kopiert (wenn wir mal von Wertetypen absehen, um die es Dir hier nicht ging). Es wird lediglich ein Zeiger auf das Originalobjekt gespeichert. Die vermutete hohe Speicherbelastung, wegen derer Du offenbar Sorgen hast, tritt also nicht ein.
    • Als Antwort markiert Agnag Dienstag, 24. März 2009 13:48
    Dienstag, 24. März 2009 11:11