Поделиться через


Предупреждения глобализации

Предупреждения глобализации поддерживают библиотеки и приложения, предназначенные для использования во всем мире.

В этом подразделе

Правило

Описание

CA1300: укажите MessageBoxOptions

Чтобы правильно отобразить окно сообщения для языков, в которых используется порядок чтения справа налево, методу Show следует передать члены RightAlign и RtlReading перечисления MessageBoxOptions.

CA1301: не следует допускать повторяющихся сочетаний клавиш быстрого доступа

Клавиша доступа, также называемая клавишей быстрого доступа, обеспечивает клавиатурный доступ к элементу управления с помощью клавиши ALT. Если несколько элементов управления имеют дублирующиеся клавиши доступа, поведение клавиши доступа определено нечетко.

CA1302: не следует жестко кодировать строки, зависящие от языка

Перечисление System.Environment.SpecialFolder содержит члены, ссылающиеся на специальные системные папки. Расположение этих папок может различаться в разных ОС, пользователь может менять расположение этих папок, их имена могут быть локализованы. Метод Environment.GetFolderPath возвращает связанные с перечислением Environment.SpecialFolder расположения в локализованной форме, подходящей для использования на работающем в данный момент компьютере.

CA1303: не следует передавать литералы в виде локализованных параметров

Внешне видимый метод передает строковый литерал в виде параметра конструктору или методу в библиотеке классов .NET Framework, и эта строка должна быть локализуемой.

CA1304: укажите CultureInfo

Метод или конструктор вызывает член, имеющий перегрузку, которая принимает параметр System.Globalization.CultureInfo, вместо того чтобы вызвать перегрузку, принимающую параметр CultureInfo. Если объект CultureInfo или System.IFormatProvider не предоставляется, значение по умолчанию, поставляемое перегруженным членом, может не оказать ожидаемого воздействия во всех языковых стандартах.

CA1305: укажите IFormatProvider

Метод или конструктор вызывает один или несколько членов, имеющих перегрузки, которые принимают параметр System.IFormatProvider, вместо того чтобы вызвать перегрузку, принимающую параметр IFormatProvider. Если объект System.Globalization.CultureInfo или IFormatProvider не предоставляется, значение по умолчанию, поставляемое перегруженным членом, может не оказать ожидаемого воздействия во всех языковых стандартах.

CA1306: указывайте языковой стандарт для типов данных

Язык и региональные параметры определяют представление элементов данных, таких как формат чисел, обозначение денежных единиц и порядок сортировки. При создании объектов DataTable или DataSet следует явным образом указывать языковой стандарт.

CA1307: укажите StringComparison

В операции сравнения строк используется перегрузка метода, которая не задает параметр StringComparison.

CA1308: строки следует нормализовать в верхнем регистре

Строки следует нормализовать в верхний регистр. Существует небольшая группа символов, которые после преобразования в нижний регистр не могут участвовать в круговом перемещении.

CA1309: используйте порядковый параметр StringComparison

Операция сравнения строк, не являющаяся лингвистической, не задает для параметра StringComparison ни значения Ordinal, ни значения OrdinalIgnoreCase. После явного задания для параметра значения StringComparison.Ordinal или StringComparison.OrdinalIgnoreCase код часто становится более надежным и правильным, кроме того, увеличивается скорость его выполнения.

CA2101: укажите тип маршалинга для строковых аргументов P/Invoke

Член вызова неуправляемого кода, разрешающий вызовы с частичным доверием, содержит строковый параметр и не выполняет явный маршалинг и преобразование этой строки. Это может стать причиной потенциальной уязвимости безопасности.