Evitare il codice privato non chiamato
Aggiornamento: novembre 2007
TypeName |
AvoidUncalledPrivateCode |
CheckId |
CA1811 |
Category |
Microsoft.Performance |
Breaking Change |
Non sostanziale |
Causa
Un membro privato o interno, a livello di assembly, non presenta chiamanti nell'assembly, non è richiamato da Common Language Runtime e il membro non è richiamato da un delegato. I seguenti membri non sono controllati da questa regola:
Membri di interfaccia espliciti.
Costruttori statici.
Costruttori di serializzazione.
Metodi contrassegnati con System.Runtime.InteropServices.ComRegisterFunctionAttribute o System.Runtime.InteropServices.ComUnregisterFunctionAttribute.
Membri costituiti da override.
Descrizione della regola
La regola può segnalare falsi positivi se sono presenti punti di ingresso non attualmente identificati dalla logica della regola. È inoltre possibile che un compilatore crei del codice non chiamabile in un assembly.
Correzione di violazioni
Per correggere una violazione di questa regola, rimuovere il codice non chiamabile o aggiungere del codice che lo chiami.
Esclusione di avvisi
L'esclusione di un avviso da questa regola è sicura.
Regole correlate
Evitare classi interne prive di istanze
Rivedere i parametri inutilizzati
Rimuovere locali non utilizzati
Esempio
Questa regola restituisce un falso positivo se un membro viene chiamato in un'area if# del preprocessore.
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
}
}
}