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 la relation d’un membre à un autre.
public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
- Héritage
-
MemberRelationshipService
Exemples
La MemberRelationshipService récupération simplifiée d’une valeur de propriété à partir d’un autre emplacement. Un concepteur peut accéder à ce service pour dicter qu’un membre reçoit la valeur d’un autre. Le générateur de code recherche de telles relations lors de la génération de code et, si une relation entre deux membres est trouvée, le générateur de code émet du code pour la relation plutôt que de rechercher la valeur de propriété. À l’aide de l’affectation de texte précédente comme exemple, l’exemple de code suivant montre le code de temps de 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 sérialisent eux-mêmes vers du code via un moteur qui effectue des recherches dans les valeurs de propriété dynamique des objets et génère ces valeurs en tant que code. 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 le seul élément sur lequel le générateur de code peut s’appuyer est la valeur dans 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 relation d’un événement à un autre peut nécessiter une implémentation différente de la relation d’une propriété à une autre. L’implémentation du service nécessite les étapes suivantes :
Implémentez SupportsRelationship(MemberRelationship, MemberRelationship) pour retourner
truedes relations que vous prenez en charge.Suivez les modifications apportées à la relation source et affectez des modifications de valeur dans la relation cible.
Constructeurs
| Nom | Description |
|---|---|
| MemberRelationshipService() |
Initialise une nouvelle instance de la classe MemberRelationshipService. |
Propriétés
| Nom | Description |
|---|---|
| Item[MemberRelationship] |
Établit une relation entre un objet source et cible. |
| Item[Object, MemberDescriptor] |
Établit une relation entre un objet source et cible. |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetRelationship(MemberRelationship) |
Obtient une relation à la relation source donnée. |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (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) |