(0) exportieren Drucken
Alle erweitern

NestedContainer-Klasse

Stellt die Basisimplementierung für die INestedContainer-Schnittstelle bereit, die es Containern ermöglicht, über eine besitzende Komponente zu verfügen.

Namespace: System.ComponentModel
Assembly: System (in system.dll)

public class NestedContainer : Container, INestedContainer, IContainer, IDisposable
public class NestedContainer extends Container implements INestedContainer, IContainer, 
	IDisposable
public class NestedContainer extends Container implements INestedContainer, IContainer, 
	IDisposable
Nicht zutreffend.

Die NestedContainer-Klasse ist eine einfache Implementierung der INestedContainer-Schnittstelle, die eine Komponente definiert, die logisch 0 (null) oder mehr Komponenten enthält und von einer übergeordneten Komponente besessen wird. Das Verhalten geschachtelter Container unterscheidet sich auf vielfältige Weise von dem eines Standard-Container, z. B.:

  • Eigenschaften einer Site, z. B. DesignMode und GetService, werden über die Site der besitzenden Komponente weitergeleitet.

  • Die Name-Eigenschaft der Site ist ein qualifizierter Name, der sich aus dem Namen der besitzenden Komponente gefolgt von einem Punkt (.) und dem Namen der untergeordneten Komponente zusammensetzt.

  • GetService unterstützt den INestedContainer als Dienst.

  • Wenn die besitzende Komponente verworfen wird, wird der Container ebenfalls verworfen.

Von Designern werden geschachtelte Container außerdem auf andere Weise behandelt. Ein Designerhost ist nur an einem Container interessiert: an demjenigen Container, der dem Host zugeordnet ist. Daher werden keine Ereignisse zum Hinzufügen oder Entfernen von Komponenten ausgelöst, wenn eine Komponente einem geschachtelten Container hinzugefügt oder aus diesem entfernt wird. Da Dienste in den geschachtelten Container weitergeleitet werden, werden jedoch Ereignisse für die Komponentenänderung ausgelöst, wenn eine in einem geschachtelten Container enthaltene Komponente geändert wird.

Diese Unregelmäßigkeit bei der Ereignisüberwachung wirkt sich auch auf die Rückgängigfunktion aus, die eng mit der Serialisierung verbunden ist. Das Standardmodul für die Rückgängigfunktion verwendet IReferenceService, um an Komponenten vorgenommene Änderungen nachzuverfolgen. Wenn das Rückgängigmodul über den Verweisdienst keinen Namen für eine Komponente bestimmen kann, ignoriert das Modul alle Änderungen an dieser Komponente. Dieser Dienst erkennt an enthaltenen Komponenten vorgenommene Änderungen nur dann automatisch, wenn sie in ihren Besitzern als öffentliche schreibgeschützte Eigenschaften gleichen Namens verfügbar sind. Andernfalls muss der Entwickler Ereignisse für die Komponentenänderung nach oben an den Besitzer weitergeben. Wenn z. B. die Text-Eigenschaft einer geschachtelten Komponente auf der besitzenden Komponente als Address-Eigenschaft erneut auftaucht, muss bei der Änderung der Text-Eigenschaft eine programmgesteuerte Änderung der entsprechenden Address-Eigenschaft vorgenommen werden, da das Rückgängig-Modul die Änderung andernfalls nicht nachverfolgt.

HinweisHinweis:

Das auf diese Klasse angewendete HostProtectionAttribute-Attribut besitzt den Resources-Eigenschaftenwert SharedState. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder eines URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute.

System.Object
   System.ComponentModel.Container
    System.ComponentModel.NestedContainer

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0, 2.0
Anzeigen:
© 2014 Microsoft