probleme de gestion des events
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...
Citation:
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:
Code:
1 2
| public event nouvelElementEventHandler nouvelElement;
public delegate void nouvelElementEventHandler(List<Actions> actions); |
Second form:
Code:
1 2
| public event newElementsEventHandler new_Elements;
public delegate void newElementsEventHandler(List<Actions> buffer); |
et l'abonnements aux differents events(ou il n'y a pas d'erreur)
Code:
1 2 3 4 5 6 7 8
| // 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.
problème accessibilité incohérente
ça m'est déjà arrivé plusieurs fois, en fait ça arrive quand une classe a une accessibilité inférieure à un propriété (public, private, ...) je ne me rappelle plus quel est le niveau d'accessibilité par défaut mais ce n'est pas public.
il suffit de mettre tes classes en 'public' et ça doit marcher.