Share via


Nicht instanziierte interne Klassen vermeiden

     TypeName

AvoidUninstantiatedInternalClasses

CheckId

CA1812

Kategorie

Microsoft.Performance

Unterbrechende Änderung

NonBreaking

Ursache

Eine Instanz eines Typs auf Assemblyebene wird durch Code nicht innerhalb der Assembly erstellt. Die folgenden Typen werden durch diese Regel nicht überprüft:

  • Werttypen

  • Abstrakte Datentypen

  • Enumerationen

  • Delegaten.

  • Von einem Compiler ausgegebene Arraytypen

  • Nicht instanziierbare Typen, die nur statische Methoden definieren

Regelbeschreibung

Diese Regel versucht, einen Aufruf eines der Konstruktoren des Typs zu finden, und meldet einen Verstoß, wenn kein Aufruf gefunden wird.

Behandlung von Verstößen

Um einen Verstoß gegen diese Regel zu beheben, entfernen Sie den Typ, oder fügen Sie den Code hinzu, in dem der Typ verwendet wird. Wenn der Typ nur statische Methoden enthält, fügen Sie dem Typ eines der folgenden Elemente hinzu, um den Compiler daran zu hindern, einen Standardkonstruktor für eine öffentliche Instanz auszugeben:

  • Einen privaten Konstruktor (für Typen, die auf die Versionen 1.0 und 1.1 von .NET Framework abzielen)

  • Den static-Modifizierer (für Typen, die auf .NET Framework 2.0 abzielen)

Warnungsausschluss

Eine Warnung dieser Regel kann gefahrlos ausgeschlossen werden. Es sind jedoch keine Szenarien bekannt, in denen dies erforderlich ist.

Verwandte Regeln

Nicht aufgerufenen privaten Code vermeiden

Nicht verwendete Parameter überprüfen

Nicht verwendete lokale Variablen entfernen