Partager via


Marquer les membres comme étant statiques

Mise à jour : novembre 2007

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. afin d'empêcher le contrôle de chaque appel au moment de l'exécution qui garantit que le pointeur d'objet actuel n'est pas null. Cette opération peut se traduire par un gain de performances mesurable pour le code dépendant des performances. Dans certains cas, l'échec de l'accès à l'instance d'objet actuelle représente 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

Évitez le recours à du code privé non appelé

Évitez les classes internes non instanciées

Supprimez les variables locales inutilisées