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 | CA1830 |
| Název | Upřednostňovat pro StringBuilder přetížení metod Append a Insert silného typu |
| Kategorie | Výkon |
| Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
| Povoleno ve výchozím nastavení v .NET 10 | Jako návrh |
Příčina
Byla StringBuilderAppend volána nebo Insert metoda s argumentem, který byl výsledkem volání ToString typu, pro který Append má nebo Insert metoda vyhrazené přetížení.
Popis pravidla
Append a Insert poskytují přetížení pro více typů nad rámec String. Pokud je to možné, upřednostněte přetížení silného typu před použitím ToString() a přetížení založené na řetězci.
Jak opravit porušení
Odstraňte nepotřebné ToString() volání.
using System.Text;
class C
{
int _value;
// Violation
public void Log(StringBuilder destination)
{
destination.Append("Value: ").Append(_value.ToString()).AppendLine();
}
// Fixed
public void Log(StringBuilder destination)
{
destination.Append("Value: ").Append(_value).AppendLine();
}
}
Kdy potlačit upozornění
Je bezpečné potlačit porušení tohoto pravidla, pokud vás nezajímá dopad na výkon nepotřebných přidělení řetězců.
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 CA1830
// The code that's violating the rule is on this line.
#pragma warning restore CA1830
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.CA1830.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.