vous pouvez créer des events sur (3)
il faudra que des (2) s'abonnent à ces events
pour créer un event :
public event nomevent (sender as object, e as system.Eventargs)
à la place de sender et e on peut mettre ce qu'on veut as ce qu'on veut et autant qu'on en veut, néanmoins, il peut etre pratique de respecter la norme du framework
auquel cas si vous avez des choses à passer, vous créez une classe inherits eventargs, avec des propriétés pour les choses à passer et vous aurez donc :
public event nomevent (sender as object, e as MonEventargs)
pour déclencher l'event :
1 2 3
| dim m as new moneventargs
m.prop1 = tellevaleur
RaiseEvent nomevent (me, m) |
en best practice, mettre des propriétés readonly peut etre mieux, avec une initialisation via le sub new
avec possibilité de laisser des propriété writeable pour des valeurs de retours de l'event par exemple
pour s'abonner à un évènement il faut avoir une instance de la classe ayant l'évènement
un singleton peut convenir
addhandler instance.nomevent, addressof tellesub
si la variable est déclarée avec withevents il est préférable de rajouter handles instance.nomevent
tu peux aussi faire un shared event si tu n'as pas d'instance (pas de sender dans ce cas, ou alors le raise avec nothing)
et après c'est addhandler nomclasse.nomevent, addressof tellesub
et le schéma posté vous auriez plus le mettre plus petit, ca serait resté lisible quand même ^^
Partager