Gestion des events

shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 20 juil. 2010 à 17:38
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 24 juil. 2010 à 11:39
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

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
24 juil. 2010 à 11:39
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
*/
0
Rejoignez-nous