Evitar código privado al que no se llama
Actualización: noviembre 2007
Nombre de tipo |
AvoidUncalledPrivateCode |
Identificador de comprobación |
CA1811 |
Categoría |
Microsoft.Performance |
Cambio problemático |
No |
Motivo
Un miembro interno o privado (nivel de ensamblado) que no tiene llamadores en el ensamblado, no es invocado por el Common Language Runtime ni por un delegado. Esta regla no comprueba los miembros siguientes:
Miembros de interfaz explícitos.
Constructores estáticos.
Constructores de serialización.
Los métodos marcados con System.Runtime.InteropServices.ComRegisterFunctionAttribute o System.Runtime.InteropServices.ComUnregisterFunctionAttribute.
Miembros que son reemplazan.
Descripción de la regla
Esta regla puede crear un informe con falsos positivos si hay puntos de entrada que no son identificados actualmente por la lógica de la regla. También es posible que un compilador pueda emitir código que no sea invocable dentro de un ensamblado.
Cómo corregir infracciones
Para corregir una infracción de esta regla, quite el código que no sea invocable o agregue código que lo llame.
Cuándo suprimir advertencias
Es seguro suprimir una advertencia de esta regla.
Reglas relacionadas
Evitar las clases internas sin instancia
Revisar los parámetros sin utilizar
Eliminar variables locales no utilizadas
Ejemplo
Esta regla indicará un falso positivo si se llama a un miembro en una región if# del preprocesador.
using System;
namespace SampleNamespace
{
class SampleClass
{
static void Main()
{
}
public void NotifyByEMail(string to)
{
// ...
}
public void AnotherMethod()
{
#if !DEBUG
NotifyByEMail("this.that@someplace.com");
#endif
}
}
}