Détecter un changement de valeur

Résolu
Whismeril
Messages postés
17484
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
- 9 juin 2011 à 19:53
Whismeril
Messages postés
17484
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
- 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
17484
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600
10 juin 2011 à 18:01
Tant pis.

Merci, je vai voir avec cette interface.

Whismeril
0
Whismeril
Messages postés
17484
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600
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