CA1801: Zkontrolujte nepoužité parametry
TypeName |
ReviewUnusedParameters |
CheckId |
CA1801 |
Kategorie |
Microsoft.Usage |
Narušující změna |
Nenarušující - Pokud bez ohledu na změnu, kterou provedete, není vně sestavení člen viditelný. Nenarušující - Pokud změníte člena k použití parametru v jeho těle. Narušující - Pokud odeberete parametr a je viditelný vně sestavení. |
Příčina
Podpis metody obsahuje parametr, který není použit v těle metody.Toto pravidlo nezkoumá následující metody:
Metody odkazované delegátem.
Metody použité jako obslužné rutiny událostí.
Metody deklarované pomocí modifikátoru abstract (MustOverride v jazyce Visual Basic).
Metody deklarované pomocí modifikátoru virtual (Overridable v jazyce Visual Basic).
Metody deklarované pomocí modifikátoru override (Overrides v jazyce Visual Basic).
Metody deklarované pomocí modifikátoru příkazu extern (Declare v jazyce Visual Basic).
Popis pravidla
Zkontrolujte parametry v nevirtuálních metodách, které nejsou používány v těle metody k zajištění neexistence nesprávnosti kolem získání přístupu k nim.Nevyužité parametry zvyšují nároky na údržbu a výkon.
Porušení tohoto pravidla může někdy vést k implementační chybě v této metodě.Například tento parametr by měl být použit v těle metody.Potlačte upozornění tohoto pravidla, pokud parametr existuje z důvodu zpětné kompatibility.
Jak vyřešit porušení
Chcete-li opravit porušení tohoto pravidla, odstraňte nepoužitý parametr (narušující změna) nebo použijte tento parametr v těle metody (nenarušující změna).
Kdy potlačit upozornění
Potlačení upozornění od tohoto pravidla je bezpečné pro dříve dodaný kód, pro který by oprava byla ovlivňující změnou.
Příklad
Následující příklad ukazuje dvě metody.Jedna metoda toto pravidlo porušuje a další metoda tomuto pravidlu vyhovuje.
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);
}
}
}
Související pravidla
CA1811: Vyhněte se nevolanému místnímu kódu