CA1713 : Les événements ne doivent pas être munis d'un préfixe Before ou After

Propriété Valeur
Identificateur de la règle CA1713
Titre Les événements ne doivent pas être munis d'un préfixe Before ou After
Catégorie Dénomination
Le correctif a un effet disruptif ou non disruptif Rupture
Activé par défaut dans .NET 10 Non
Langues applicables C# et Visual Basic

Cause

Le nom d’un événement commence par 'Before' ou 'After'.

Description de la règle

Les noms d’événements doivent décrire l’action qui déclenche l’événement. Pour nommer des événements associés déclenchés dans une séquence spécifique, utilisez le présent ou le passé pour indiquer la position relative dans la séquence d'actions. Par exemple, lorsque vous nommez une paire d’événements déclenchés lors de la fermeture d’une ressource, vous pouvez la nommer 'Closing' et 'Closed', au lieu de 'BeforeClose' et 'AfterClose'.

Les conventions de nommage fournissent une apparence commune pour les bibliothèques qui ciblent le common language runtime. La réduction de la courbe d'apprentissage requise pour les nouvelles bibliothèques de logiciels augmente la confiance des clients envers le fait que la bibliothèque a été développée par une personne possédant une expertise en développement de code managé.

Comment corriger les violations

Supprimez le préfixe du nom de l’événement, et envisagez de modifier le nom de façon à utiliser le temps présent ou passé d’un verbe.

Example

public class Session
{
    // This code violates the rule.
    public event EventHandler? BeforeClose;
    public event EventHandler? AfterClose;

    // This code satisfies the rule.
    public event EventHandler? Closing;
    public event EventHandler? Closed;
}

Quand supprimer les avertissements

Ne supprimez pas un avertissement émis par cette règle.