C# [RESOLU]Les événements !

zahid98

Membre Actif
Inscrit
13 Decembre 2014
Messages
352
Reactions
2
#1
Salut à tous ! Après avoir vainement cherché sur Google sur ces maudits 'événements', j'ai recourt à la communauté de Cadernis .
D'ailleurs , je connais assez bien leur principe : l'événement guette la production d'une action et dès qu'elle a lieu , une fonction qui attend le déclenchement du évent commence son travail .
Mais ce qu'il me paraît confus , c'est ce que viennent ces délégués détruire l'harmonie de mon petite évent :| ?
Avant de vous poser votre question , je vous citerai rapidement le rôle des événements dans mon bot (obvious pour certains :ugeek: ) : Ils seront simplement déclenchés lors de l'arrivée de tel ou tel paquet et puis une fonction qui se chargera de son traitement .
Finalement , auriez-vous le temps de prendre la peine de m'expliquer rapidement comment ça se passe pour un évent ?
Merci d'avoir consacré une partie de votre temps pour lire mon sujet.
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#2
Re: Les événement !

Un exemple tout con:

Code:
public ClientStateEnum State
        {
            get { return state; }
            set 
            {
                state = value;
                OnStateChanged(new StateChangedEventArgs(value));
            }
        }

public event EventHandler<StateChangedEventArgs> StateChanged;

        private void OnStateChanged(StateChangedEventArgs e)
        {
            if (StateChanged != null)
                StateChanged(this, e);
        }

        public class StateChangedEventArgs
        {
            public ClientStateEnum State;

            public StateChangedEventArgs(ClientStateEnum state)
            {
                State = state;
            }
        }
Ici, dès que l'état de mon bot change, un événement est activé.

Ensuite pour lier l'événement à une fonction:

Code:
Client.Data.StateChanged += StateChanged;
La fonction:

Code:
private void StateChanged(object sender, AmaknaCore.Debug.Client.Data.ClientData.StateChangedEventArgs e)
        {
        }
 
Haut Bas