Benzol (09.06.2014)
Thema: C#: Vererbungshierarchie?
-
04.06.2014, 19:18 #1
- Registriert seit
- 01.12.2011
- Beiträge
- 135
Thanked 75 Times in 53 PostsC#: 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)
-
04.06.2014, 20:13 #2
AW: C#: Vererbungshierarchie?
-
04.06.2014, 20:47 #3
- Registriert seit
- 01.12.2011
- Beiträge
- 135
Thanked 75 Times in 53 PostsAW: 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ß
-
05.06.2014, 07:22 #4
- Registriert seit
- 18.03.2013
- Beiträge
- 481
Thanked 264 Times in 168 PostsAW: 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)
-
The Following User Says Thank You to xOneDirectionx For This Useful Post:
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.