CA1510: Użyj pomocnika throw ArgumentNullException
Właściwości | Wartość |
---|---|
Identyfikator reguły | CA1510 |
Tytuł | Używanie pomocnika zgłaszającego wyjątek ArgumentNullException |
Kategoria | Łatwość konserwacji |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Domyślnie włączone na platformie .NET 8 | Jako sugestia |
Przyczyna
Kod sprawdza, czy argument jest null
, a następnie warunkowo zgłasza element ArgumentNullException.
Opis reguły
Sprawdzanie argumentów ma znaczący wpływ na rozmiar kodu i często dominuje w kodzie dla małych funkcji i zestawów właściwości. Te kontrole uniemożliwiają podkreślenie i powodują znaczne zanieczyszczenie pamięci podręcznej instrukcji. Metody pomocnika rzutu, takie jak ArgumentNullException.ThrowIfNull , są prostsze i bardziej wydajne niż if
bloki tworzące nowe wystąpienie wyjątku.
Przykład
Poniższy fragment kodu przedstawia naruszenie ca1510:
void M(string arg)
{
if (arg is null)
throw new ArgumentNullException(nameof(arg));
}
Poniższy fragment kodu przedstawia poprawkę:
void M(string arg)
{
ArgumentNullException.ThrowIfNull(arg);
}
Jak naprawić naruszenia
Zastąp if
blok zgłaszający wyjątek wywołaniem metody ArgumentNullException.ThrowIfNull. Możesz też użyć menu żarówki, aby automatycznie naprawić kod.
Kiedy pomijać ostrzeżenia
Można bezpiecznie pominąć naruszenie tej reguły, jeśli nie martwisz się o konserwację kodu. Można również pominąć naruszenia, które są identyfikowane jako fałszywie dodatnie.
Pomijanie ostrzeżenia
Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.
#pragma warning disable CA1510
// The code that's violating the rule is on this line.
#pragma warning restore CA1510
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none
w pliku konfiguracji.
[*.{cs,vb}]
dotnet_diagnostic.CA1510.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.