Sdílet prostřednictvím


CA2264: Nepředávejte nenulnutelnou hodnotu argumentu ArgumentNullException.ThrowIfNull

Vlastnost Hodnota
ID pravidla CA2264
Název Nepředávejte nenulovou hodnotu do ArgumentNullException.ThrowIfNull
Kategorie Využití
Oprava způsobující chybu nebo chybu způsobující chybu Nenarušující
Povoleno ve výchozím nastavení v .NET 9 Jako upozornění

Příčina

Pokud je hodnota, o které je známo, že nikdy není null předána ArgumentNullException.ThrowIfNull(), výjimka není vyvolán, takže příkaz no-op.

Popis pravidla

ArgumentNullException.ThrowIfNull vyvolá, pokud je nullpředaný argument . Některé konstrukce, jako jsou struktury bez null (s výjimkou Nullable<T>), parametry typu známé jako nenulové struktury, výrazy 'nameof()' a "new" výrazy nejsou nikdy null, takže ArgumentNullException.ThrowIfNull se nikdy nevyvolají.

V případě struktury, protože ArgumentNullException.ThrowIfNull přijímá object?, struktura je boxed, což způsobuje další snížení výkonu.

Jak opravit porušení

ArgumentNullException.ThrowIfNull Odeberte hovor.

Příklad

Následující fragment kódu ukazuje porušení ca2264:

static void Print(int value)
{
    ArgumentNullException.ThrowIfNull(value);
    Console.WriteLine(value);
}

Následující fragment kódu opraví porušení zásad:

static void Print(int value)
{
    Console.WriteLine(value.Value);
}

Kdy potlačit upozornění

Toto upozornění je vždy bezpečné potlačit.

Potlačení upozornění

Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

#pragma warning disable CA2264
// The code that's violating the rule is on this line.
#pragma warning restore CA2264

Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none konfiguračním souboru.

[*.{cs,vb}]
dotnet_diagnostic.CA2264.severity = none

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.