Partage via


MemberRelationshipService Classe

Définition

Fournit la classe de base pour lier un membre à un autre.

public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
Héritage
MemberRelationshipService

Exemples

Simplifie la MemberRelationshipService récupération d’une valeur de propriété à partir d’un autre emplacement. Un concepteur peut accéder à ce service pour dicter qu’un membre se voit attribuer la valeur d’un autre. Le générateur de code recherche ces relations lors de la génération du code, et si une relation entre deux membres est trouvée, le générateur de code émet du code pour la relation au lieu de rechercher la valeur de propriété. En utilisant l’affectation de texte précédente comme exemple, l’exemple de code suivant montre le code au moment de la conception utilisé pour établir une relation.

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

Remarques

Les concepteurs se sérialisent eux-mêmes pour coder via un moteur qui recherche les valeurs des propriétés actives des objets et génère ces valeurs en tant que code. Ainsi, par exemple, le texte d’un bouton est généré au format suivant.

this.okButton.Text = "OK";  

L’une des limitations de ce schéma est qu’il est difficile de récupérer une propriété à partir d’un autre emplacement. Par exemple, il est très difficile d’émettre du code au format suivant, car la seule chose sur laquelle le générateur de code peut s’appuyer est la valeur de la propriété .

this.titleLabel.Text = this.Text;  

Notes pour les responsables de l’implémentation

La MemberRelationshipService classe est abstract. L’implémentation d’une version concrète varie en fonction des types de membres pris en charge. Par exemple, la mise en relation d’un événement à un autre peut nécessiter une implémentation différente de la mise en relation d’une propriété à une autre. L’implémentation du service nécessite les étapes suivantes :

Constructeurs

MemberRelationshipService()

Initialise une nouvelle instance de la classe MemberRelationshipService.

Propriétés

Item[MemberRelationship]

Établit une relation entre un objet source et un objet cible.

Item[Object, MemberDescriptor]

Établit une relation entre un objet source et un objet cible.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetRelationship(MemberRelationship)

Apporte une relation à la relation source donnée.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
SetRelationship(MemberRelationship, MemberRelationship)

Crée une relation entre l'objet source et la relation cible.

SupportsRelationship(MemberRelationship, MemberRelationship)

Obtient une valeur indiquant si la relation donnée est prise en charge.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi