Partager via


CA1030 : Utiliser des événements lorsque cela est approprié

Propriété Value
Identificateur de la règle CA1030
Titre Utiliser des événements lorsque cela est approprié
Catégorie Conception
Le correctif est cassant ou non cassant Sans rupture
Activé par défaut dans .NET 8 Non

Cause

Un nom de méthode commence par l’un des éléments suivants :

  • AddOn
  • RemoveOn
  • Feu
  • Soulever

Par défaut, cette règle examine uniquement les méthodes visibles en externe, mais elle est configurable.

Description de la règle

Cette règle détecte des méthodes qui présentent des noms qui ordinairement seraient utilisés pour des événements. Les événements suivent le modèle de conception Observer ou Publish-Subscribe ; ils sont utilisés lorsqu’un changement d’état dans un objet doit être communiqué à d’autres objets. Si une méthode est appelée en réponse à une modification d’état clairement définie, la méthode doit être appelée par un gestionnaire d’événements. Les objets qui appellent la méthode doivent déclencher des événements au lieu d'appeler directement la méthode.

Certains exemples courants d’événements se trouvent dans les applications d’interface utilisateur dans lesquelles une action utilisateur, comme un clic sur un bouton, entraîne l’exécution d’un segment de code. Le modèle d’événement .NET n’est pas limité aux interfaces utilisateur. Il doit être utilisé partout où vous devez communiquer les modifications d’état à un ou plusieurs objets.

Comment corriger les violations

Si la méthode est appelée lorsque l’état d’un objet change, envisagez de modifier la conception pour utiliser le modèle d’événement .NET.

Quand supprimer les avertissements

Supprimez un avertissement de cette règle si la méthode ne fonctionne pas avec le modèle d’événement .NET.

Supprimer un avertissement

Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.

#pragma warning disable CA1030
// The code that's violating the rule is on this line.
#pragma warning restore CA1030

Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none dans le fichier de configuration.

[*.{cs,vb}]
dotnet_diagnostic.CA1030.severity = none

Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.

Configurer le code à analyser

Utilisez l’option suivante pour configurer les parties de votre codebase sur lesquelles exécuter cette règle.

Vous pouvez configurer cette option pour cette règle uniquement, pour toutes les règles auxquelles elle s’applique ou pour toutes les règles de cette catégorie (Conception) auxquelles elle s’applique. Pour plus d’informations, consultez Options de configuration des règles de qualité du code.

Inclure des surfaces d’API spécifiques

Vous pouvez configurer les parties de votre codebase sur lesquelles exécuter cette règle, en fonction de leur accessibilité. Par exemple, pour spécifier que la règle doit s’exécuter uniquement sur la surface d’API non publique, ajoutez la paire clé-valeur suivante à un fichier .editorconfig dans votre projet :

dotnet_code_quality.CAXXXX.api_surface = private, internal