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 null
př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.