CA1801: Nicht verwendete Parameter überprüfen
TypeName |
ReviewUnusedParameters |
CheckId |
CA1801 |
Kategorie |
Microsoft.Usage |
Unterbrechende Änderung |
Nicht unterbrechend – Wenn der Member unabhängig von der vorgenommenen Änderung außerhalb der Assembly nicht sichtbar ist. Nicht unterbrechend – Wenn Sie den Member ändern, um den Parameter im Text zu verwenden. Unterbrechend – Wenn Sie den Parameter entfernen und er außerhalb der Assembly sichtbar ist. |
Ursache
Eine Methodensignatur enthält einen Parameter, der nicht im Methodentext verwendet wird. Die folgenden Methoden werden mit dieser Regel nicht geprüft:
Methoden, auf die von einem Delegaten verwiesen wird.
Methoden, die als Ereignishandler verwendet werden.
Methoden, die mit dem abstract-Modifizierer (MustOverride in Visual Basic) deklariert werden.
Methoden, die mit dem virtual-Modifizierer (Overridable in Visual Basic) deklariert werden.
Methoden, die mit dem override-Modifizierer (Overrides in Visual Basic) deklariert werden.
Methoden, die mit dem extern-Modifizierer (Declare-Anweisung in Visual Basic) deklariert werden.
Regelbeschreibung
Überprüfen Sie in nicht virtuellen Methoden die Parameter, die nicht im Methodentext verwendet werden, um sicherzustellen, dass im Umfeld des gescheiterten Zugriffs keine Richtigkeit vorhanden ist. Nicht verwendete Parameter verursachen Wartungsaufwand und beeinträchtigen die Leistung.
Manchmal kann ein Verstoß dieser Regel auf einen Implementierungsfehler in der Methode hinweisen. Der Parameter sollte beispielsweise im Methodentext verwendet werden. Unterdrücken Sie Warnungen dieser Regel, wenn der Parameter zwecks Abwärtskompatibilität vorhanden sein muss.
Behandeln von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, entfernen Sie den nicht verwendeten Parameter (eine unterbrechende Änderung), oder verwenden Sie den Parameter im Methodentext (eine nicht unterbrechende Änderung).
Wann sollten Warnungen unterdrückt werden?
Eine Warnung dieser Regel kann bei zuvor veröffentlichtem Code, für den die Korrektur eine unterbrechende Änderung wäre, gefahrlos unterdrückt werden.
Beispiel
Im folgenden Beispiel werden zwei Methoden veranschaulicht. Eine Methode verstößt gegen die Regel, und die andere Methode erfüllt die Regel.
using System;
using System.Globalization;
namespace Samples
{
public static class TestClass
{
// This method violates the rule.
public static string GetSomething(int first, int second)
{
return first.ToString(CultureInfo.InvariantCulture);
}
// This method satisfies the rule.
public static string GetSomethingElse(int first)
{
return first.ToString(CultureInfo.InvariantCulture);
}
}
}
Verwandte Regeln
CA1811: Nicht aufgerufenen privaten Code vermeiden