Sdílet prostřednictvím


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

CA1812: Vyhněte se nevytvořeným instancím vnitřních tříd

CA1804: Odeberte nepoužívané místní hodnoty