Nicht aufgerufenen privaten Code vermeiden
Aktualisiert: November 2007
TypeName |
AvoidUncalledPrivateCode |
CheckId |
CA1811 |
Kategorie |
Microsoft.Performance |
Unterbrechende Änderung |
Nicht unterbrechend |
Ursache
Zu einem privaten oder internen Member (Assemblyebenemember) gibt es in der Assembly keine Aufrufer, er wird nicht durch die Common Language Runtime aufgerufen, und der Member wird nicht durch einen Delegaten aufgerufen. Die folgenden Member werden von dieser Regel nicht überprüft:
Explizite Schnittstellenmember.
Statische Konstruktoren.
Serialisierungskonstruktoren.
Mit System.Runtime.InteropServices.ComRegisterFunctionAttribute oder System.Runtime.InteropServices.ComUnregisterFunctionAttribute markierte Methoden.
Member, bei denen es sich um Überschreibungen handelt.
Regelbeschreibung
Diese Regel kann fälschlicherweise Verstöße melden, wenn es Einstiegspunkte gibt, die derzeit nicht durch die Regellogik identifiziert werden. Außerdem besteht die Möglichkeit, dass ein Compiler nicht aufrufbaren Code in eine Assembly ausgibt.
Behandlung von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, entfernen Sie den nicht aufrufbaren Code, oder fügen Sie Code hinzu, der den Code aufruft.
Wann Warnungen unterdrückt werden sollten
Warnungen dieser Regel können gefahrlos unterdrückt werden.
Verwandte Regeln
Nicht instanziierte interne Klassen vermeiden
Nicht verwendete Parameter überprüfen
Nicht verwendete lokale Variablen entfernen
Beispiel
Diese Regel meldet ein falsch positives Ergebnis, wenn ein Member in einem Präprozessor-if#-Bereich aufgerufen wird.
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
}
}
}