MemberRelationshipService Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona la clase base para relacionar un miembro con otro.
public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
- Herencia
-
MemberRelationshipService
Ejemplos
MemberRelationshipService simplifica la recuperación de un valor de propiedad desde otra ubicación. Un diseñador puede acceder a este servicio para dictar que a un miembro se le asigna el valor de otro. El generador de código busca estas relaciones al generar código y, si se encuentra una relación entre dos miembros, emite código para la relación en lugar de buscar el valor de propiedad. Con la asignación de texto anterior como ejemplo, en el ejemplo de código siguiente se muestra el código en tiempo de diseño usado para establecer una relación.
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);
Comentarios
Los diseñadores se serializan a sí mismos para codificar a través de un motor que busca en los valores de propiedad dinámica de los 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 es difícil recuperar una propiedad de otra ubicación. Por ejemplo, es muy difícil emitir código en el siguiente formato, ya que lo único que puede confiar el generador de código es el valor de la propiedad .
this.titleLabel.Text = this.Text;
Notas a los implementadores
La MemberRelationshipService clase es abstract
. La implementación de una versión concreta varía en función de los tipos de miembros admitidos. Por ejemplo, relacionar un evento con otro podría requerir una implementación diferente de la de una propiedad a otra. La implementación del servicio requiere los pasos siguientes:
Implemente SupportsRelationship(MemberRelationship, MemberRelationship) para devolver
true
las relaciones que admita.Realice un seguimiento de los cambios en la relación de origen y asigne cambios de valor a la relación de destino.
Constructores
MemberRelationshipService() |
Inicializa una nueva instancia de la clase MemberRelationshipService. |
Propiedades
Item[MemberRelationship] |
Establece una relación entre el objeto de origen y el de destino. |
Item[Object, MemberDescriptor] |
Establece una relación entre el objeto de origen y el de destino. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetRelationship(MemberRelationship) |
Obtiene una relación con la relación de origen determinada. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
SetRelationship(MemberRelationship, MemberRelationship) |
Crea una relación entre el objeto de origen y la relación de destino. |
SupportsRelationship(MemberRelationship, MemberRelationship) |
Obtiene un valor que indica si la relación determinada es compatible. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |