Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
| Property | Değer |
|---|---|
| Kural Kimliği | IDE0043 |
| Title | Geçersiz biçim dizesi |
| Category | Style |
| alt kategorisi | Dil kuralları (dize işlemleri) |
| Geçerli diller | C# ve Visual Basic |
| Options | Hiçbiri |
Overview
Bu kural, String.Format gibi bileşik biçimlendirme yöntemlerine yapılan ve biçim dizesindeki bir yer tutucu dizinin var olmayan bir argümana başvurduğu çağrıları işaretler. Örneğin, biçim dizesi {1} içeriyor ancak yalnızca bir bağımsız değişken sağlanmışsa ({0} olarak erişilebilen), kural {1} yer tutucusunu işaretler.
Uyarı
Bu kural, biçim dizesi bağımsız değişkenlerini de doğrulayan kod kalitesi kuralı CA2241'e benzer.
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)
Uyarıyı gizleme
Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.
#pragma warning disable IDE0043
// The code that's violating the rule is on this line.
#pragma warning restore IDE0043
Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, none önem derecesini olarak ayarlayın.
[*.{cs,vb}]
dotnet_diagnostic.IDE0043.severity = none
Kod stili kuralların tümünü devre dışı bırakmak için, kategorinin Stylenone önem derecesini yapılandırma dosyasında olarak ayarlayın.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Daha fazla bilgi için bkz. Kod analizi uyarılarını gizleme.