CA1514: Vyhněte se argumentu redundantní délky
Vlastnost | Hodnota |
---|---|
ID pravidla | CA1514 |
Název | Vyhněte se argumentu redundantní délky |
Kategorie | Udržovatelnost |
Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
Povoleno ve výchozím nastavení v .NET 8 | Jako návrh |
Příčina
Argument redundantní délky se předává na String.Substringkonec Span<T>.SliceReadOnlySpan<T>.Sliceřetězce nebo vyrovnávací paměti , nebo Memory<T>.Slice při vytváření řezů na konec řetězce nebo vyrovnávací paměti.
Popis pravidla
Explicitně počítaný argument délky může být náchylný k chybám a při dělení na konec řetězce nebo vyrovnávací paměti není nutné.
Kód, který vynechá argument délky, je čitelnější a udržovatelný.
Jak opravit porušení
Odeberte argument délky.
Příklad
Následující fragment kódu ukazuje porušení ca1514:
string message = "Hello World!";
string world = message.Substring(6, message.Length - 6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6, message.Length - 6) ' "World!"
Následující fragment kódu opraví porušení zásad:
string message = "Hello World!";
string world = message.Substring(6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6) ' "World!"
Kdy potlačit upozornění
Pokud vás nezajímá udržovatelnost kódu, je bezpečné potlačit porušení tohoto pravidla.
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 CA1514
// The code that's violating the rule is on this line.
#pragma warning restore CA1514
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.CA1514.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.