CA1830: Voorkeur sterk getypte append- en insert-methode overloads on StringBuilder
Eigenschappen | Weergegeven als |
---|---|
Regel-id | CA1830 |
Titel | Geef de voorkeur aan sterk getypte append- en insert-methode overloads in StringBuilder |
Categorie | Prestaties |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld in .NET 9 | Als suggestie |
Oorzaak
Een StringBuilder Append
of Insert
methode werd aangeroepen met een argument dat het resultaat was van het aanroepen ToString
van een type waarvoor de Append
of Insert
methode een toegewezen overbelasting heeft.
Beschrijving van regel
Append en Insert zorgen voor overbelastingen voor meerdere typen daarbuiten String. Indien mogelijk geeft u de voorkeur aan de sterk getypte overbelasting met behulp van ToString() en de op tekenreeks gebaseerde overbelasting.
Schendingen oplossen
Verwijder de onnodige ToString()
aanroep.
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();
}
}
Wanneer waarschuwingen onderdrukken
Het is veilig om een schending van deze regel te onderdrukken als u zich geen zorgen maakt over de gevolgen voor de prestaties van onnodige tekenreekstoewijzingen.
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable CA1830
// The code that's violating the rule is on this line.
#pragma warning restore CA1830
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none
ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.CA1830.severity = none
Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.