Condividi tramite


MemberRelationshipService Classe

Definizione

Fornisce la classe base per mettere in relazione un membro con un altro.

public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
Ereditarietà
MemberRelationshipService

Esempio

Semplifica MemberRelationshipService il recupero di un valore di proprietà da un'altra posizione. Una finestra di progettazione può accedere a questo servizio per determinare che un membro viene assegnato il valore di un altro. Il generatore di codice cerca tali relazioni durante la generazione di codice e se viene trovata una relazione tra due membri, genera codice per la relazione anziché cercare il valore della proprietà. Usando l'assegnazione di testo precedente come esempio, nell'esempio di codice seguente viene illustrato il codice temporale di progettazione usato per stabilire una relazione.

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);  

Commenti

I progettisti serializzano se stessi per il codice tramite un motore che cerca i valori di proprietà live degli oggetti e genera tali valori come codice. Ad esempio, il testo di un pulsante viene generato nel formato seguente.

this.okButton.Text = "OK";  

Una delle limitazioni di questo schema è che è difficile recuperare una proprietà da un'altra posizione. Ad esempio, è molto difficile generare codice nel formato seguente, perché l'unica cosa che il generatore di codice può basarsi è il valore nella proprietà.

this.titleLabel.Text = this.Text;  

Note per gli implementatori

La MemberRelationshipService classe è abstract. L'implementazione di una versione concreta varia a seconda dei tipi di membri supportati. Ad esempio, la correlazione di un evento a un altro potrebbe richiedere un'implementazione diversa rispetto alla correlazione di una proprietà a un'altra. L'implementazione del servizio richiede la procedura seguente:

Costruttori

MemberRelationshipService()

Inizializza una nuova istanza della classe MemberRelationshipService.

Proprietà

Item[MemberRelationship]

Stabilisce una relazione tra un oggetto di origine e uno di destinazione.

Item[Object, MemberDescriptor]

Stabilisce una relazione tra un oggetto di origine e uno di destinazione.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetRelationship(MemberRelationship)

Ottiene una relazione con la relazione di origine data.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SetRelationship(MemberRelationship, MemberRelationship)

Crea una relazione tra l'oggetto di origine e la relazione di destinazione.

SupportsRelationship(MemberRelationship, MemberRelationship)

Ottiene un valore che indica se la relazione data è supportata.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche