Érvénytelen formázási sztring (IDE0043)

Property Value
Szabályazonosító IDE0043
Cím Érvénytelen formátumkarakterlánc
Kategória Style
alcsoport Nyelvi szabályok (sztringműveletek)
Alkalmazandó nyelvek C# és Visual Basic
Options Nincs

Áttekintés

Ez a szabály összetett formázási metódusokra hívja fel a hívásokat, például String.Formatamikor a formátumsztring helyőrző indexe nem létező argumentumra hivatkozik. Ha például a formátumkarakterlánc a(z) {1} elemet tartalmazza, de csak egy argumentum van megadva (amely {0}-ként érhető el), a szabály a(z) {1} helyőrzőt jelöli meg.

Megjegyzés:

Ez a szabály hasonló a CA2241 kódminőségi szabályhoz, amely a sztring argumentumainak formázását is ellenőrzi.

Example

// Code with violations.
// '{1}' is out of range — only one argument is provided.
string s = string.Format("Hello, {0}! You have {1} messages.", "Alice");

// Fixed code.
string s = string.Format("Hello, {0}! You have {1} messages.", "Alice", 5);
' Code with violations.
' '{1}' is out of range — only one argument is provided.
Dim s As String = String.Format("Hello, {0}! You have {1} messages.", "Alice")

' Fixed code.
Dim s As String = String.Format("Hello, {0}! You have {1} messages.", "Alice", 5)

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable IDE0043
// The code that's violating the rule is on this line.
#pragma warning restore IDE0043

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_diagnostic.IDE0043.severity = none

Az összes kódstílus-szabály kikapcsolásához állítsa be a Style kategória súlyosságát none-re a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.

Lásd még