Éviter les gestionnaires d'événements en double : détecter les affectations existantes
Lorsque vous travaillez avec des objets sérialisés stockés dans l'état de session, il est important de maintenir des gestionnaires d'événements qui surveillent changements de propriété. Cependant, l'ajout de gestionnaires aux objets désérialisés peut entraîner des doublons en raison d'accès multiples. Pour éviter cela, il est crucial d'identifier si un gestionnaire d'événements a déjà été attribué.
Solution : technique de désenregistrement-réenregistrement
Pour garantir en toute sécurité l'affectation d'un gestionnaire une seule fois, considérez en utilisant la technique de désenregistrement-réenregistrement, même si le gestionnaire est actuellement non attribué :
myClass.MyEvent -= MyHandler; myClass.MyEvent += MyHandler;
Avantages de cette approche
Mise en œuvre pratique
Incorporez cette technique dans votre code lors de l'enregistrement de votre gestionnaire d'événements pour vous assurer de sa présence une seule fois. Cette approche offre une solution propre et efficace pour éviter les affectations de gestionnaires en double.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!