Détecter un changement de valeur

Résolu
Whismeril Messages postés 19038 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 - 9 juin 2011 à 19:53
Whismeril Messages postés 19038 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 - 11 juin 2011 à 15:49
Bonjour,

j'ai créé une classe avec pleins d'attributs déclarés comme ça:
public string Toto
{get; set;}

public int Tutu
{get; set;}

etc...


et une methode de calcul que je dois exécuter à chaque changement de valeurs.
J'aimerai savoir si l'on peut détecter un changement de valeur (un événement?), plutôt que de réécrire mes déclarations comme suit

private string _Toto;
public string Toto
{
   get {return _Toto;}
   set
       {
           _Toto = value;
           ExecuteMethode();
       }

etc...


Merci

Whismeril

3 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
10 juin 2011 à 16:17
Hello,

Malheureusement en Windows Forms, il n'existe pas vraiment d'autre solution que d'écrire pour chaque propriété l'appel à ta méthode.

Tu peux toutefois implémenter l'interface INotifiyPropertyChanged, ce qui permettra d'uniformiser ton code.


Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo
3
Whismeril Messages postés 19038 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 656
10 juin 2011 à 18:01
Tant pis.

Merci, je vai voir avec cette interface.

Whismeril
0
Whismeril Messages postés 19038 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 7 mai 2024 656
11 juin 2011 à 15:49
Bonjour,

ce n'était pas ce que je recherchais, mais quitte à réécrire mes déclarations, j'ai implémenté cette interface.
Je me suis abonné à l'évènement en interne de ma classe pour executer ma méthode.
C'est un peu plus long, mais ça permet de récupérer l'info du changement de valeur ailleurs dans le projet.

Merci sebmafate.


Whismeril
0
Rejoignez-nous