Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| 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 10 | 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.