Maison > développement back-end > C++ > Devriez-vous éviter les contrôles nuls avec des délégués vides anonymes ?

Devriez-vous éviter les contrôles nuls avec des délégués vides anonymes ?

Barbara Streisand
Libérer: 2024-12-31 09:18:13
original
690 Les gens l'ont consulté

Should You Avoid Null Checks with Anonymous Empty Delegates?

Éviter les vérifications nulles avec des délégués anonymes vides : analyser les avantages et les inconvénients

L'ajout d'un délégué vide anonyme à une déclaration d'événement soulève des questions sur sa inconvénients potentiels. Bien que l'avantage d'éviter les vérifications nulles soit évident, toutes les implications de cette expression restent floues.

Cette expression a été discutée dans divers forums en ligne, mais il est crucial d'approfondir ses inconvénients potentiels. Des inquiétudes surgissent concernant son utilisation généralisée et le potentiel de problèmes de maintenance. De plus, l'impact sur les performances de l'appel d'abonné à un événement vide est une considération valable.

La perspective de performance

Contrairement aux appréhensions, l'appel d'abonné à un événement vide n'entraîne pas de frais. pénalité de performance. En fait, il existe une approche plus efficace pour résoudre à la fois les contrôles nuls et les problèmes de performances.

Une solution de méthode d'extension

Une méthode d'extension peut être définie comme suit :

public static void Raise(this EventHandler handler, object sender, EventArgs e)
{
    if(handler != null)
    {
        handler(sender, e);
    }
}
Copier après la connexion

Avec cette extension en place, la génération d'événements peut être simplifiée à :

// Works, even for null events.
MyButtonClick.Raise(this, EventArgs.Empty);
Copier après la connexion

En utilisant cette méthode, les contrôles nuls appartiennent au passé, offrant une solution plus propre et plus efficace.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal