Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Свойство | Значение |
|---|---|
| Идентификатор правила | CA2226 |
| Заголовок | Перегрузки операторов должны быть симметричными |
| Категория | Использование |
| Исправление является критическим или не критическим | неразрывный |
| Включен по умолчанию в .NET 10 | Нет |
| Применимые языки | C# и Visual Basic |
Причина
Тип реализует оператор равенства или неравенства, но не реализует противоположный оператор.
По умолчанию это правило проверяет только видимые извне типы, но это поведение можно настроить.
Описание правила
Отсутствуют обстоятельства, в которых равенство или неравенство применимо к экземплярам типа, а противоположный оператор не определен. Типы обычно реализуют оператор неравенства, возвращая отрицательное значение оператора равенства.
Компилятор C# выдает ошибку при нарушении этого правила.
Устранение нарушений
Чтобы устранить нарушение этого правила, реализуйте оба оператора: равенства и неравенства, или удалите уже существующий.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует. Если вы это сделаете, ваш тип не будет работать в соответствии с .NET.
Настройка кода для анализа
Используйте следующий параметр, чтобы выбрать части базы кода для применения этого правила.
Этот параметр можно настроить только для этого правила, для всех правил, к которым он применяется, или для всех правил в этой категории (использование), к которым она применяется. Дополнительные сведения см. в статье Параметры конфигурации правила качества кода.
Включите конкретные поверхности API
Вы можете настроить компоненты базы кода для выполнения этого правила на основе их специальных возможностей, задав параметр api_surface. Например, чтобы указать, что правило должно выполняться только для непубличной поверхности API, добавьте следующую пару "ключ-значение" в файл .editorconfig в ваш проект:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Заметка
Замените XXXX частью CAXXXX идентификатором применимого правила.