Предупреждения глобализации
Предупреждения глобализации поддерживают библиотеки и приложения, предназначенные для использования во всем мире.
В этом подразделе
Правило |
Описание |
---|---|
Чтобы правильно отобразить окно сообщения для языков, в которых используется порядок чтения справа налево, методу Show следует передать члены RightAlign и RtlReading перечисления MessageBoxOptions. |
|
CA1301: не следует допускать повторяющихся сочетаний клавиш быстрого доступа |
Клавиша доступа, также называемая клавишей быстрого доступа, обеспечивает клавиатурный доступ к элементу управления с помощью клавиши ALT. Если несколько элементов управления имеют дублирующиеся клавиши доступа, поведение клавиши доступа определено нечетко. |
CA1302: не следует жестко кодировать строки, зависящие от языка |
Перечисление System.Environment.SpecialFolder содержит члены, ссылающиеся на специальные системные папки. Расположение этих папок может различаться в разных ОС, пользователь может менять расположение этих папок, их имена могут быть локализованы. Метод Environment.GetFolderPath возвращает связанные с перечислением Environment.SpecialFolder расположения в локализованной форме, подходящей для использования на работающем в данный момент компьютере. |
CA1303: не следует передавать литералы в виде локализованных параметров |
Внешне видимый метод передает строковый литерал в виде параметра конструктору или методу в библиотеке классов .NET Framework, и эта строка должна быть локализуемой. |
Метод или конструктор вызывает член, имеющий перегрузку, которая принимает параметр System.Globalization.CultureInfo, вместо того чтобы вызвать перегрузку, принимающую параметр CultureInfo. Если объект CultureInfo или System.IFormatProvider не предоставляется, значение по умолчанию, поставляемое перегруженным членом, может не оказать ожидаемого воздействия во всех языковых стандартах. |
|
Метод или конструктор вызывает один или несколько членов, имеющих перегрузки, которые принимают параметр System.IFormatProvider, вместо того чтобы вызвать перегрузку, принимающую параметр IFormatProvider. Если объект System.Globalization.CultureInfo или IFormatProvider не предоставляется, значение по умолчанию, поставляемое перегруженным членом, может не оказать ожидаемого воздействия во всех языковых стандартах. |
|
Язык и региональные параметры определяют представление элементов данных, таких как формат чисел, обозначение денежных единиц и порядок сортировки. При создании объектов DataTable или DataSet следует явным образом указывать языковой стандарт. |
|
В операции сравнения строк используется перегрузка метода, которая не задает параметр StringComparison. |
|
Строки следует нормализовать в верхний регистр. Существует небольшая группа символов, которые после преобразования в нижний регистр не могут участвовать в круговом перемещении. |
|
Операция сравнения строк, не являющаяся лингвистической, не задает для параметра StringComparison ни значения Ordinal, ни значения OrdinalIgnoreCase. После явного задания для параметра значения StringComparison.Ordinal или StringComparison.OrdinalIgnoreCase код часто становится более надежным и правильным, кроме того, увеличивается скорость его выполнения. |
|
CA2101: укажите тип маршалинга для строковых аргументов P/Invoke |
Член вызова неуправляемого кода, разрешающий вызовы с частичным доверием, содержит строковый параметр и не выполняет явный маршалинг и преобразование этой строки. Это может стать причиной потенциальной уязвимости безопасности. |