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 MemberRelationshipService

 

Publicado: octubre de 2016

Proporciona la clase base para relacionar un miembro a otro.

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

System.Object
  System.ComponentModel.Design.Serialization.MemberRelationshipService

[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public abstract class MemberRelationshipService

NombreDescripción
System_CAPS_protmethodMemberRelationshipService()

Inicializa una nueva instancia de la clase MemberRelationshipService.

NombreDescripción
System_CAPS_pubpropertyItem[MemberRelationship]

Establece una relación entre un objeto de origen y de destino.

System_CAPS_pubpropertyItem[Object, MemberDescriptor]

Establece una relación entre un objeto de origen y de destino.

NombreDescripción
System_CAPS_pubmethodEquals(Object)

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

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodGetHashCode()

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

System_CAPS_protmethodGetRelationship(MemberRelationship)

Obtiene una relación con la relación de origen determinada.

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_protmethodSetRelationship(MemberRelationship, MemberRelationship)

Crea una relación entre la relación de origen de objeto y de destino.

System_CAPS_pubmethodSupportsRelationship(MemberRelationship, MemberRelationship)

Obtiene un valor que indica si se admite la relación determinada.

System_CAPS_pubmethodToString()

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

Diseñadores se serializan a código a través de un motor que busca en los valores de propiedad activos de objetos y genera esos valores como código. Por lo tanto, por ejemplo, el texto de un botón se genera en el formato siguiente.

this.okButton.Text = "OK";

Una de las limitaciones de este esquema es que resulta difícil recuperar una propiedad desde otra ubicación. Por ejemplo, es muy difícil emitir código con el siguiente formato, porque puede depender de lo único que el generador de código es el valor de la propiedad.

this.titleLabel.Text = this.Text;

Notas para desarrolladores de herederos:

La MemberRelationshipService clase es abstract. Implementar una versión concreta varía en función de los tipos de miembros que son compatibles. Por ejemplo, requiera una implementación distinta de relacionar una propiedad con otro relacionar un evento a otro. Implementación del servicio requiere los pasos siguientes:

  • Implemente SupportsRelationship para devolver true para las relaciones que se admiten.

  • Seguimiento de cambios de los cambios de valor de relación y asigne de origen en la relación de destino.

El MemberRelationshipService simplifica la recuperación de un valor de propiedad desde otra ubicación. Un diseñador puede tener acceso a este servicio para indicar que un miembro se asigna el valor de otro. El generador de código busca tales relaciones al generar código y, si el generador de código no se encuentra una relación entre dos miembros, emite código para la relación en lugar de buscar el valor de propiedad. Mediante la asignación de texto anterior como ejemplo, el siguiente código en el ejemplo se muestra código de tiempo utilizado para establecer una relación de diseño.

object titleLabel, form;
PropertyDescriptor titleLabelText = TypeDescriptor.GetProperties(titleLabel)["Text"];
PropertyDescriptor formText = TypeDescriptor.GetProperties(form)["Text"];
MemberRelationshipService ms = GetService(typeof(MemberRelationshipService);
ms[titleLabel, titleLabelText] = new MemberRelationship(form, formText);

.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: