Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Свойство | Значение |
|---|---|
| Идентификатор правила | CA1311 |
| Заголовок | Укажите язык или используйте инвариантную версию |
| Категория | Глобализация |
| Исправление является разрушающим или неразрушающим | Неразрывный |
| Включен по умолчанию в .NET 10 | Нет |
| Применимые языки | C# и Visual Basic |
Причина
Вызов выполняется к String.ToUpper() или String.ToLower() без указания культуры.
Описание правила
Укажите культуру или используйте инвариантную культуру, чтобы избежать неявной зависимости от текущей культуры при вызове ToUpper или ToLower. Использование инвариантной культуры обеспечивает согласованные результаты независимо от культуры приложения.
Устранение нарушений
Вместо вызова безаргументных методов String.ToUpper() или String.ToLower(), вызывайте ToUpper(CultureInfo) или ToUpperInvariant(), или ToLower(CultureInfo) или ToLowerInvariant().
Пример
В следующем фрагменте кода показано нарушение правила CA1311:
string s = "hello";
s = s.ToLower();
Dim s As String = "hello"
s.ToLower()
Следующий фрагмент кода исправляет нарушение.
string s = "hello";
s = s.ToLowerInvariant();
Dim s As String = "hello"
s.ToLowerInvariant()
Когда лучше отключить предупреждения
Если вы уверены, что Thread.CurrentCulture никогда не изменится, безопасно подавить предупреждение из этого правила.
Отключение предупреждений
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable CA1311
// The code that's violating the rule is on this line.
#pragma warning restore CA1311
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.CA1311.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.