Gestion des events

Signaler
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour a tous,

J'ai un petit soucis d'erreur en utilisants des evenènements et j'aimerai votre aide la dessus:
-j'ai un programme composé de deux forms et un user control
-le form principal en appel un second, et le second charge l'user control

lorsqu'une action donnée est réalisée dans l'user control, un evenement est déclanché pour l'envoyer dans le form enfant (componentForm)
lorsque le buffer de cet usercontrol (sous forme de List<> lui aussi) est modifié (quand il a recu les infos de l'event précédent), il déclenche un second event
le form principal recoit a son tour la liste et la traite...

Erreur 1 (sur l'userControl)
Accessibilité incohérente : le type de paramètre 'System.Collections.Generic.List<devInstaller.Actions>' est moins accessible que le délégué 'devInstaller.createFile.nouvelElementEventHandler'
C:\Users\Shadow\documents\visual studio 2010\Projects\devInstaller\devInstaller\createFile.cs

Erreur 2 (sur le second form)
Accessibilité incohérente : le type de paramètre 'System.Collections.Generic.List<devInstaller.Actions>' est moins accessible que le délégué 'devInstaller.addComponentForm.newElementsEventHandler'
C:\Users\Shadow\documents\visual studio 2010\Projects\devInstaller\devInstaller\addComponentForm.cs

Pas d'erreur sur l'event du form principal

Ci joint la déclaration de l'event (la ou l'erreur est notifiée);

Usercontrol:
public event nouvelElementEventHandler nouvelElement;
public delegate void nouvelElementEventHandler(List actions);


Second form:
public event newElementsEventHandler new_Elements;
public delegate void newElementsEventHandler(List buffer);


et l'abonnements aux differents events(ou il n'y a pas d'erreur)

// form principal
addComponentForm component = new addComponentForm();
component.new_Elements += new devInstaller.addComponentForm.newElementsEventHandler(this.updateTreeView);

// second form
createFile creerFichier = new createFile();
creerFichier.new_Element += new devInstaller.createFile.nouvelElementEventHandler(this.chargerDonnees);
panelComponent.Controls.Add(creerFichier);


Pourriez vous m'indiquer ou me donner une piste sur mon erreur.

Merci d'avance pour votre aide,
Cordialement.

1 réponse

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
Bonjour,

L'event et le delegate sont public, et je suppose que la classe qui les exposent l'est aussi.
Le type "Actions" doit donc lui aussi posséder une niveau d'accessibilité public, ce qui n'est apparemment pas le cas, d'après le message d'erreur.


/*
coq
MVP Visual C#
CoqBlog
*/