Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

MemberRelationshipService classe

 

Date de publication : novembre 2016

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

Espace de noms:   System.ComponentModel.Design.Serialization
Assembly:  System (dans System.dll)

System.Object
  System.ComponentModel.Design.Serialization.MemberRelationshipService

[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public abstract class MemberRelationshipService

NomDescription
System_CAPS_protmethodMemberRelationshipService()

Initialise une nouvelle instance de la classe MemberRelationshipService.

NomDescription
System_CAPS_pubpropertyItem[MemberRelationship]

Établit une relation entre un objet source et cible.

System_CAPS_pubpropertyItem[Object, MemberDescriptor]

Établit une relation entre un objet source et cible.

NomDescription
System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et à exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par une opération garbage collection.(Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_protmethodGetRelationship(MemberRelationship)

Obtient une relation à la relation source donnée.

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodSetRelationship(MemberRelationship, MemberRelationship)

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

System_CAPS_pubmethodSupportsRelationship(MemberRelationship, MemberRelationship)

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

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

Les concepteurs se sérialisent pour coder via un moteur qui parcourt les valeurs de propriété actives d’objets et génère ces valeurs sous forme de code. Ainsi, par exemple, le texte d’un bouton est généré dans le format suivant.

this.okButton.Text = "OK";

Une des limites de ce schéma est qu’il est difficile de récupérer une propriété d’un autre emplacement. Par exemple, il est très difficile d’émettre du code dans le format suivant, car la seule chose que le Générateur de code peut reposer sur est la valeur de la propriété.

this.titleLabel.Text = this.Text;

Remarques à l’attention des héritiers :

La MemberRelationshipService classe est abstract. L’implémentation d’une version concrète varie selon les types de membres qui sont pris en charge. Par exemple, lier un événement à l’autre peut nécessiter une implémentation différente que lier une propriété à un autre. Implémentation du service implique les étapes suivantes :

  • Implémentez SupportsRelationship pour retourner true pour les relations que vous prenez en charge.

  • Le suivi des modifications pour les modifications de valeur de relation et attribuez source dans la relation cible.

Le MemberRelationshipService simplifie la récupération d’une valeur de propriété à partir d’un autre emplacement. Un concepteur peut accéder à ce service pour imposer qu’un membre est affecté à la valeur d’un autre. Le Générateur de code recherche ce type de relation lors de la génération de code, et si une relation entre deux membres trouve le Générateur de code, il émet le code pour la relation plutôt que de rechercher la valeur de propriété. À l’aide de l’assignation du texte précédent comme exemple, le code suivant exemple montre concevoir le code de temps 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);

.NET Framework
Disponible depuis 2.0

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: