CA1822: Marcar el miembro como estático
TypeName |
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