Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase NestedContainer

 

Publicado: octubre de 2016

Proporciona la implementación base para la INestedContainer interfaz, que permite que los contenedores tengan un componente propietario.

Espacio de nombres:   System.ComponentModel
Ensamblado:  System (en System.dll)

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

[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public class NestedContainer : Container, INestedContainer, IContainer, 
	IDisposable

NombreDescripción
System_CAPS_pubmethodNestedContainer(IComponent)

Inicializa una nueva instancia de la clase NestedContainer.

NombreDescripción
System_CAPS_pubpropertyComponents

Obtiene todos los componentes la Container.(Heredado de Container).

System_CAPS_pubpropertyOwner

Obtiene el componente propietario de este contenedor anidado.

System_CAPS_protpropertyOwnerName

Obtiene el nombre del componente propietario.

NombreDescripción
System_CAPS_pubmethodAdd(IComponent)

Agrega el objeto especificado Component a la Container. El componente no tiene nombre.(Heredado de Container).

System_CAPS_pubmethodAdd(IComponent, String)

Agrega el objeto especificado Component a la Container y asigna un nombre.(Heredado de Container).

System_CAPS_protmethodCreateSite(IComponent, String)

Crea un sitio para el componente dentro del contenedor.(Invalida Container.CreateSite(IComponent, String)).

System_CAPS_pubmethodDispose()

Libera todos los recursos que usa Container.(Heredado de Container).

System_CAPS_protmethodDispose(Boolean)

Libera los recursos utilizados por el contenedor anidado.(Invalida Container.Dispose(Boolean)).

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Libera recursos no administrados y realiza otras operaciones de limpieza antes de que se reclame el elemento Container durante la recolección de elementos no usados.(Heredado de Container).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_protmethodGetService(Type)

Obtiene el objeto de servicio del tipo especificado, si está disponible.(Invalida Container.GetService(Type)).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_pubmethodRemove(IComponent)

Quita un componente de la Container.(Heredado de Container).

System_CAPS_protmethodRemoveWithoutUnsiting(IComponent)

Quita un componente de la Container sin establecer Site a null.(Heredado de Container).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

System_CAPS_protmethodValidateName(IComponent, String)

Determina si el nombre del componente es único para este contenedor.(Heredado de Container).

La NestedContainer clase es una implementación sencilla de la INestedContainer interfaz, que define un componente que contiene cero o más componentes de forma lógica y es propiedad de un componente primario. El comportamiento de los contenedores anidados difiere del estándar Container en un número de formas, incluidos los siguientes:

  • Características de sitio como DesignMode y GetService se enrutan a través del sitio del componente propietario.

  • El sitio Name propiedad es un nombre completo que incluye el nombre del componente propietario seguido por un punto (.) y el nombre del componente secundario.

  • GetService proporciona compatibilidad para el INestedContainer como un servicio.

  • Cuando se elimina el componente propietario, también se elimina el contenedor.

Además, los diseñadores tratan los contenedores anidados de forma diferente. Un host de diseñador sólo está interesado en un contenedor, lo asociada con el host. Por lo tanto, adición y eliminación de eventos no se generan cuando un componente se agrega o se quita de un contenedor anidado. Sin embargo, porque el flujo de servicios al contenedor anidado, se generan eventos de cambio de componente cuando se cambia un componente en un contenedor anidado.

Esta disparidad en el seguimiento de eventos también influye en la funcionalidad de deshacer, que está estrechamente relacionada con la serialización. Utiliza el motor para deshacer estándar IReferenceService para realizar un seguimiento de los cambios realizados en los componentes. Si el motor para deshacer no puede identificar el nombre de un componente a través del servicio de referencia, el motor omitirá los cambios de ese componente. Este servicio reconoce automáticamente los cambios en los componentes independientes sólo si se exponen como propiedades públicas de sólo lectura del mismo nombre en sus propietarios. De lo contrario, el desarrollador debe pasar los eventos de cambio de componente hasta el propietario. Por ejemplo, si un componente anidado Text propiedad se vuelve a exponerse en su componente propietario como una Address propiedad, cuando el Text se cambia la propiedad, se debe realizar mediante programación un cambio de propiedad correspondiente Address propiedad, o bien que cambie no realizará el seguimiento de deshacer.

.NET Framework
Disponible desde 2.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: