MemberRelationshipService Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 :
Implémentez SupportsRelationship(MemberRelationship, MemberRelationship) pour retourner
true
les relations que vous prenez en charge.Suivez les modifications apportées à la relation source et affectez les modifications de valeur à la relation cible.
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) |