MemberRelationshipService Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece a classe base para relacionar um membro a outro.
public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
- Herança
-
MemberRelationshipService
Exemplos
O simplifica a MemberRelationshipService recuperação de um valor de propriedade de outro local. Um designer pode acessar esse serviço para determinar que um membro recebe o valor de outro. O gerador de código pesquisa essas relações ao gerar código e, se uma relação entre dois membros for encontrada no gerador de código, ele emitirá código para a relação em vez de pesquisar o valor da propriedade. Usando a atribuição de texto anterior como exemplo, o exemplo de código a seguir mostra o código de tempo de design usado para estabelecer uma relaçã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);
Comentários
Os designers se serializam para codificar por meio de um mecanismo que pesquisa os valores de propriedade dinâmica de objetos e gera esses valores como código. Portanto, por exemplo, o texto de um botão é gerado no formato a seguir.
this.okButton.Text = "OK";
Uma das limitações desse esquema é que é difícil recuperar uma propriedade de outro local. Por exemplo, é muito difícil emitir código no formato a seguir, porque a única coisa em que o gerador de código pode confiar é o valor na propriedade .
this.titleLabel.Text = this.Text;
Notas aos Implementadores
A MemberRelationshipService classe é abstract
. A implementação de uma versão concreta varia dependendo dos tipos de membros com suporte. Por exemplo, relacionar um evento a outro pode exigir uma implementação diferente de relacionar uma propriedade a outra. A implementação do serviço requer as seguintes etapas:
Implemente SupportsRelationship(MemberRelationship, MemberRelationship) para retornar
true
para relações com as quais você dá suporte.Acompanhe as alterações na relação de origem e atribua alterações de valor à relação de destino.
Construtores
MemberRelationshipService() |
Inicializa uma nova instância da classe MemberRelationshipService. |
Propriedades
Item[MemberRelationship] |
Estabelece uma relação entre um objeto de origem e de destino. |
Item[Object, MemberDescriptor] |
Estabelece uma relação entre um objeto de origem e de destino. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetRelationship(MemberRelationship) |
Obtém uma relação para a relação de origem especificada. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
SetRelationship(MemberRelationship, MemberRelationship) |
Cria uma relação entre a relação de destino e o objeto de origem. |
SupportsRelationship(MemberRelationship, MemberRelationship) |
Obtém um valor que indica se há suporte para a relação informada. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |