1. #1

    Registriert seit
    01.12.2011
    Beiträge
    135
    Thanked 75 Times in 53 Posts

    Standard C#: Vererbungshierarchie?

    Moin moin,

    das Textbox-Element hat folgende Vererbungshierarchie:

    System.Object
    >>>System.MarshalByRefObject
    >>>>>>System.ComponentModel.Component
    >>>>>>>>>System.Windows.Forms.Control
    >>>>>>>>>>>>System.Windows.Forms.TextBoxBase
    >>>>>>>>>>>>>>System.Windows.Forms.MaskedTextBox
    >>>>>>>>>>>>>>System.Windows.Forms.RichTextBox
    >>>>>>>>>>>>>>System.Windows.Forms.TextBox

    Kann man zu den einzelnen Hierarchien irgendetwas erläutern oder erklären?
    Ich meine zum Beispiel, dass aus "System.Object" alle Windows.Form-Elemente ihre Vererbung beziehen. Was aber ist mit "MarshalByRedObject" und "ComponentModel"?
    Geändert von Gast78236 (04.06.2014 um 19:28 Uhr)

  2. #2
    Avatar von Benzol
    Registriert seit
    16.12.2013
    Beiträge
    215
    Thanked 87 Times in 54 Posts

  3. #3

    Registriert seit
    01.12.2011
    Beiträge
    135
    Thanked 75 Times in 53 Posts

    Standard AW: C#: Vererbungshierarchie?

    Hallo Benzol,

    ich habe mir die beiden Artikel bereits durchgelesen und zugegeben, nicht wirklich verstanden. Könntest du folgendes vielleicht genauer oder einfacher erklären?

    MarshalByRef-Klasse: "Aktiviert in Anwendungen mit Remotingunterstützung den Zugriff auf Objekte über die Grenzen von Anwendungsdomänen hinweg."
    Ich habe das nun wie folgt aufgenommen: Ich kann auf irgendwelche entfernte Objekte zugreifen, die in der Laufzeitumgebung noch nicht vorhanden sind. Kann man das so erst mal plump sagen? Hast du da vielleicht Ergänzungen?

    Component-Klasse: "Stellt die Basisimplementierung für die IComponent-Schnittstelle bereit und ermöglicht die gemeinsame Nutzung von Objekten durch Anwendungen."
    IComponent-Schnittstelle: "Stellt Funktionen bereit, die von allen Komponenten benötigt werden. "

    Lieben Gruß

  4. #4

    Registriert seit
    18.03.2013
    Beiträge
    481
    Thanked 264 Times in 168 Posts

    Standard AW: C#: Vererbungshierarchie?

    Eine Anwendungsdomäne ist ein Teil eines Betriebssystemprozesses, der eine oder mehrere Anwendungen enthält. Objekte in derselben Anwendungsdomäne kommunizieren direkt miteinander. Objekte in unterschiedlichen Anwendungsdomänen kommunizieren entweder durch die Übertragung von Objektkopien über die Grenzen von Anwendungsdomänen hinweg oder durch den Austausch von Meldungen über einen Proxy.

    MarshalByRefObject ist die Basisklasse für Objekte, die über Grenzen von Anwendungsdomänen hinweg durch den Austausch von Meldungen über einen Proxy kommunizieren. Objekte, die nicht von MarshalByRefObject erben, werden implizit als Wert gemarshallt. Wenn eine Remoteanwendung auf ein Objekt verweist, das als Wert gemarshallt wird, wird eine Kopie des Objekts über die Grenze der Anwendungsdomäne hinweg übergeben.

    Auf MarshalByRefObject-Objekte wird direkt innerhalb der Grenzen der lokalen Anwendungsdomäne zugegriffen. Wenn eine Anwendung in einer Remoteanwendungsdomäne zum ersten Mal auf ein MarshalByRefObject zugreift, wird der Remoteanwendung ein Proxy übergeben. Nachfolgende Aufrufe des Proxys werden zurück an das in der lokalen Anwendungsdomäne befindliche Objekt gemarshallt.

    Typen müssen von MarshalByRefObject erben, wenn sie über Anwendungsdomänen hinweg verwendet werden und der Zustand des Objekts nicht kopiert werden darf, da die Member des Objekts nicht außerhalb der Anwendungsdomäne, in der sie erstellt worden sind, verwendet werden können.


    Quelle: MSDN



    In kurz: damit ermöglichst du, dass später remote auf deine Komponenten zugegriffen werden kann.
    Geändert von xOneDirectionx (05.06.2014 um 07:24 Uhr)



    [www.piratenpartei.de]
    "Krieg ist Frieden; Freiheit ist Sklaverei; Unwissenheit ist Stärke"

  5. The Following User Says Thank You to xOneDirectionx For This Useful Post:

    Benzol (09.06.2014)

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.