IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 .NET Discussion :

[Débutant] Pb synthaxe - Evénements


Sujet :

.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 38
    Points
    38
    Par défaut [Débutant] Pb synthaxe - Evénements
    Bonjour à tous,

    Je débute en .Net et pour ce faire lit tutoriaux et exemples.

    A plusieurs reprises, dans les exemples fournis, je suis tombé sur du code qui ne fonctionnait pas chez moi et toujours pour la même synthaxe non acceptée (en rouge ci dessous) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        public interface IFilteredComponent
        {
            // Summary:
            //     Fires after the filter column collection has been changed.
            event EventHandler PropertiesChanged;
            //
            // Summary:
            //     Occurs when the source control's filter condition is changed.
            event EventHandler RowFilterChanged;
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        public class MyControl : Control, IFilteredComponent
        {
            event EventHandler IFilteredComponent.PropertiesChanged;
    
            event EventHandler IFilteredComponent.RowFilterChanged;
        }
    Je pourrais, je pense écrire le modifier le code en ajoutant les entrées "add" et "remove" voire supprimer les entrées. Mais j'aimerai comprendre l'interêt d'une telle écriture et pourquoi cela compile ailleurs.

    D'avance merci

  2. #2
    Membre habitué Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Points : 182
    Points
    182
    Par défaut
    Quellles sont les erreurs renvoyées ?
    N'oubliez pas que
    Msdn

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 38
    Points
    38
    Par défaut
    Pour chacune des 2 lignes posant problèmes

    Il y a une erreur au niveau du . suivant IFilteredComponent :
    An explicit interface implementation of an event must use event accessor syntax
    Puis sur le ; :
    Invalid token ';' in class, struct, or interface member declaration

  4. #4
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Pour aller au plus simple, n'implémente pas l'interface explicitement. Ce qui donnerait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class MyControl : Control, IFilteredComponent
    {
        public event EventHandler PropertiesChanged;
        public event EventHandler RowFilterChanged;
    }
    Si tu as besoin d'implémenter l'interface de manière explicite, tu dois gérer l'abonnement/désabonnement. Cela donnerait quelque chose comme ça si je ne me trompe pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    public class MyControl : Control, IFilteredComponent
    {
        event EventHandler InternalPropertiesChanged;
        event EventHandler InternalRowFilterChanged;
     
        event EventHandler IFilteredComponent.PropertiesChanged
        {
            add
            {
                lock (InternalPropertiesChanged)
                {
                    InternalPropertiesChanged += value;
                }
            }
            remove
            {
                lock (InternalPropertiesChanged)
                {
                    InternalPropertiesChanged -= value;
                }
            }
        }
     
        event EventHandler IFilteredComponent.RowFilterChanged
        {
            add
            {
                lock (InternalRowFilterChanged)
                {
                    InternalRowFilterChanged += value;
                }
            }
            remove
            {
                lock (InternalRowFilterChanged)
                {
                    InternalRowFilterChanged -= value;
                }
            }
        }
     
        ...
    }
    Pas de questions techniques par MP

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 38
    Points
    38
    Par défaut
    Merci de ton aide.
    Visiblement, cela semble bien fonctionner.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] evènement onChange sur input text
    Par jacquesprogram dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/12/2009, 12h16
  2. [DC] [débutant] Evènements
    Par dahtah dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 09/01/2008, 17h08
  3. [Débutant - Excel] Evénement avant modification de cellule
    Par seiryujay dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/12/2006, 05h31
  4. Réponses: 4
    Dernier message: 18/01/2005, 18h49
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo