Compartir a través de


CA1822: Marcar el miembro como estático

Nombre de tipo

MarkMembersAsStatic

Identificador de comprobación

CA1822

Categoría

Microsoft.Performance

Cambio problemático

Poco problemático: si el miembro no se puede ver fuera del ensamblado, independientemente del cambio realizado.Poco importante: si solo 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 se puede ver 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 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 proporcionar una mejora apreciable del rendimiento del código en el que el rendimiento es fundamental.En algunos casos, la imposibilidad de tener acceso a la instancia del objeto actual 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

CA1811: Evitar código privado al que no se llama

CA1812: Evitar las clases internas sin instancia

CA1804: Quitar variables locales no utilizadas