Compartir a través de


Marque los miembros como estáticos

Actualización: noviembre 2007

     TypeName

MarkMembersAsStatic

Identificador de comprobación

CA1822

Category

Microsoft.Performance

Cambio problemático

Poco importante: si el miembro no es visible fuera del ensamblado, independientemente del cambio realizado. Poco importante: si simplemente cambia el miembro por un miembro de instancia con la palabra clave this.

Problemático: si cambia el miembro de un miembro de instancia por un miembro estático, y es visible fuera del ensamblado.

Motivo

Un miembro que no tiene acceso a los datos de instancia no se marca como static (Shared en Visual Basic).

Descripción de la regla

Los miembros que no tienen acceso a los datos de instancia o que llaman a métodos de instancia se pueden marcar como static (Shared en Visual Basic). Después de marcar los métodos como static, el compilador emite los sitios de llamada no virtuales para estos miembros. Al emitir los sitios de llamada no virtuales, se evita tener que comprobar para cada llamada en tiempo de ejecución que el puntero de objeto actual no es null. Esto puede mejorar de manera significativa el rendimiento del código cuando el rendimiento es fundamental. En algunos casos, el hecho de no tener acceso a la instancia actual del objeto representa un problema de corrección.

Cómo corregir infracciones

Marque el miembro como static (o Shared en Visual Basic) o utilice 'this'/'Me' en el cuerpo del método, si es apropiado.

Cuándo suprimir advertencias

Es seguro suprimir una advertencia de esta regla para el código previamente distribuido para el que la corrección supondría un cambio importante.

Reglas relacionadas

Evitar código privado al que no se llama

Evitar las clases internas sin instancia

Eliminar variables locales no utilizadas