Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
| Tulajdonság | Érték |
|---|---|
| Szabályazonosító | CA1311 |
| Cím | Kulturális környezet megadása vagy invariáns verzió használata |
| Kategória | Globalizáció |
| A javítás kompatibilitástörő vagy nem törik | Nem törés |
| Alapértelmezés szerint engedélyezve a .NET 10-ben | Nem |
Ok
A program meghívja a String.ToUpper() kultúrát, vagy String.ToLower() anélkül.
Szabály leírása
Adjon meg egy kultúrát, vagy használjon invariáns kultúrát, hogy elkerülje az aktuális kultúrától való implicit függőséget híváskor ToUpper vagy ToLower. Az invariáns kultúra használata konzisztens eredményeket eredményez, függetlenül az alkalmazás kultúrájától.
Szabálysértések kijavítása
A paraméter nélküli String.ToUpper() vagy metódusok meghívása helyett hívja meg String.ToLower() vagy ToUpper(CultureInfo)hívja meg vagyToUpperInvariant().ToLower(CultureInfo)ToLowerInvariant()
Példa
A következő kódrészlet a CA1311 szabály megsértését mutatja be:
string s = "hello";
s = s.ToLower();
Dim s As String = "hello"
s.ToLower()
A következő kódrészlet kijavítja a szabálysértést:
string s = "hello";
s = s.ToLowerInvariant();
Dim s As String = "hello"
s.ToLowerInvariant()
Mikor kell letiltani a figyelmeztetéseket?
Ha biztos benne, hogy Thread.CurrentCulture ez soha nem változik, nyugodtan el lehet tiltani a szabály figyelmeztetését.
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 CA1311
// The code that's violating the rule is on this line.
#pragma warning restore CA1311
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.CA1311.severity = none
További információ: Kódelemzési figyelmeztetések letiltása.