Voilà, je débute en C# et j'aimerais créer un évènement qui entraîne un enregistrement.

Pour cela, j'ai tout d'abord défini une classe qui me permet d,émettre l'évènement:

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
public class emetteur_evenement
	{
		public emetteur_evenement()
		{
			//
			// TODO: Add constructor logic here
			//
		}
 
		public delegate void _evtHandler(object sender, evenement_miseajour evt);
 
		public event _evtHandler eventhandler;
 
		public virtual void envoyer_evenement(evenement_miseajour even)
		{
			 eventhandler(this,even);}
	}
Ensuite, j'ai implémenté une classe qui décrit mon évènement

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
	public class evenement_miseajour:EventArgs
	{	private probe changement;
 
		public evenement_miseajour()
		{
		}
 
		public evenement_miseajour(probe courant)
		{	changement=courant;
			//
			// TODO: Add constructor logic here
			//
		}
 
		//Fonction permettant d'ajouter le nom du probe à l'arbre et le probe ä un objet de stockage 
		public void diffusion(TreeNode noeud,Stockage stock )
		{	noeud.Text=changement.lire_nom();
			stock.ajoute(changement);
		}
 
	}
Enfin, dans une autre classe, j'ai défini mon pool d'évènement et le traitement de l'évènement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
emis.eventhandler+=new emetteur_evenement._evtHandler(traitement_evenement);
 
public void traitement_evenement(object emis, evenement_miseajour evt)
		{//evt.diffusion(arbre,tab);
		treeView1.Nodes.Add(arbre);
	}
Le programme passe à la compil mais lors de l'exécution, un message d'erreur indiquant que l'objet n'est pas instancié à la ligne suivante de ma classe émettrice d'évènement:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
eventhandler(this,even);}
Si quelqu'un pouvait m'aider, ce serait sympa.