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é