CA1801: Przejrzyj nieużywane parametry
TypeName |
ReviewUnusedParameters |
CheckId |
CA1801 |
Kategoria |
Microsoft.Usage |
Zmiana kluczowa |
Niekluczowa - Jeśli element członkowski nie jest widoczny spoza zestawu, niezależnie dokonywanej zmiany. Niekluczowa - Jeśli element członkowski zostanie zmieniony, aby wykorzystywał parametr w swojej treści. Kluczowa - Jeśli parametr zostanie usunięty i jest on widoczny spoza zestawu. |
Przyczyna
Podpis metody zawiera parametr, który nie jest używany w treści metody.Ta reguła nie bada następujących metod:
Metody, do których odwołuje się obiekt delegowany.
Metody stosowane jako programy obsługi zdarzeń.
Metody zadeklarowane z modyfikatorem abstract (MustOverride w języku Visual Basic).
Metody zadeklarowane z modyfikatorem virtual (Overridable w języku Visual Basic).
Metody zadeklarowane z modyfikatorem override (Overrides w języku Visual Basic).
Metody zadeklarowane z modyfikatorem extern (instrukcja Declare w języku Visual Basic).
Opis reguły
Przegląd parametrów w nie-wirtualnych metodach, które nie są używane w treści metody, aby upewnić się, że żadne poprawności nie istnieją wokół niepowodzenia dostępu do nich.Nieużywane parametry ponoszą koszty utrzymania i wydajności.
Czasami naruszenie tej zasady może wskazywać na usterkę implementacyjną w metodzie.Na przykład, parametr powinien być użyty w treści metody.Należy pominąć ostrzeżenia tej reguły, jeśli parametr ma istnieć ze względu na zgodność ze starszymi wersjami.
Jak naprawić naruszenia
Aby naprawić naruszenie tej zasady, usuń nieużywany parametr (kluczowa zmiana) lub użyj parametr w treści metody (niekluczowa zmiana).
Kiedy pominąć ostrzeżenia
Można bezpiecznie pominąć ostrzeżenie od tej reguły dla poprzednio wysłanego kodu, dla którego naprawa byłaby zmianą kluczową.
Przykład
W poniższym przykładzie przedstawiono dwie metody.Jedna metoda narusza tę regułę, a inna ją spełnia.
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);
}
}
}
Powiązane reguły
CA1811: Unikaj niewywołanego kodu prywatnego