CA1822 : Marquez les membres comme static
TypeName |
MarkMembersAsStatic |
CheckId |
CA1822 |
Catégorie |
Microsoft.Performance |
Modification avec rupture |
Sans rupture - Si le membre n'est pas visible à l'extérieur de l'assembly, indépendamment de la modification effectuée.Sans rupture - Si vous remplacez simplement le membre par un membre d'instance avec le mot clé this. Avec rupture - Si vous remplacez un membre d'instance par un membre statique et qu'il est visible à l'extérieur de l'assembly. |
Cause
Un membre qui n'accède pas aux données d'instance n'est pas marqué comme static (Shared en Visual Basic).
Description de la règle
Les membres qui n'accèdent pas aux données d'instance ou n'appellent pas de méthodes d'instance peuvent être marquées comme static (Shared en Visual Basic).Une fois que les méthodes ont été marquées comme static, le compilateur émet des sites d'appel non virtuels vers ces membres.L'émission de sites d'appel non virtuels empêche la vérification de chaque appel au moment de l'exécution, consistant à s'assurer que le pointeur d'objet actuel n'est pas Null.Cette opération se traduit par un gain de performances mesurable pour le code dépendant des performances.Dans certains cas, l'impossibilité d'accéder à l'instance d'objet actuelle pose un problème d'exactitude.
Comment corriger les violations
Marquez le membre comme static (ou Shared en Visual Basic) ou utilisez 'this'/'Me' dans le corps de la méthode, si nécessaire.
Quand supprimer les avertissements
Il est possible de supprimer sans risque un avertissement de cette règle dans le cas d'un code précédemment livré pour lequel le correctif constituerait une modification avec rupture.
Règles connexes
CA1811 : Évitez le recours à du code privé non appelé