CA2121 : Les constructeurs statiques doivent être privés
Élément | Valeur |
---|---|
ID de la règle | CA2121 |
Category | Microsoft.Security |
Modification avec rupture | Rupture |
Cause
Un type a un constructeur statique qui n’est pas privé.
Notes
Cette règle est déconseillée. Pour plus d’informations, consultez Règles dépréciées.
Description de la règle
Un constructeur statique, également appelé constructeur de classe, est utilisé pour initialiser un type. Le système appelle le constructeur statique avant la création de la première instance du type ou le référencement de tout membre statique. L’utilisateur n’a aucun contrôle sur le moment où le constructeur statique est appelé. Si un constructeur statique n’est pas privé, il peut être appelé par un code autre que le système. Selon les opérations effectuées dans le constructeur, cette possibilité peut provoquer un comportement inattendu.
Cette règle est appliquée par les compilateurs C# et Visual Basic.
Comment corriger les violations
Les violations sont généralement causées par l’une des actions suivantes :
Vous avez défini un constructeur statique pour votre type et vous ne l’avez pas défini comme étant privé.
Le compilateur du langage de programmation a ajouté un constructeur statique par défaut à votre type et ne l’a pas défini comme étant privé.
Pour résoudre le premier type de violation, définissez votre constructeur statique comme étant privé. Pour corriger le deuxième type, ajoutez un constructeur statique privé à votre type.
Quand supprimer les avertissements
Ne supprimez pas ces violations. Si votre conception logicielle nécessite un appel explicite à un constructeur statique, il est probable qu’elle contienne de graves défauts et doive être révisée.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour