다음을 통해 공유


CA2226: 연산자에는 대칭 오버로드가 있어야 합니다.

속성
규칙 ID CA2226
제목 연산자에는 대칭 오버로드가 있어야 합니다.
범주 사용 현황
수정 사항이 주요 변경인지 여부 주요 변경 아님
.NET 9에서 기본적으로 사용 아니요

원인

형식이 같음 연산자 또는 같지 않음 연산자를 구현하면서 그 반대 연산자를 구현하지 않습니다.

기본적으로 이 규칙은 외부에 표시되는 형식만 확인하지만 이는 구성 가능합니다.

규칙 설명

같음 또는 같지 않음이 형식의 인스턴스에 적용되고 반대 연산자는 정의되지 않은 상황이 발생하지 않습니다. 형식은 일반적으로 같음 연산자의 부정 값을 반환하여 같지 않음 연산자를 구현합니다.

C# 컴파일러는 이 규칙의 위반 오류를 발생시킵니다.

위반 문제를 해결하는 방법

이 규칙 위반 문제를 해결하려면 같음 연산자와 같지 않음 연산자를 모두 구현하거나, 존재하는 연산자를 제거합니다.

경고를 표시하지 않는 경우

이 규칙에서는 경고를 표시해야 합니다. 이렇게 하면 형식이 .NET과 일치하는 방식으로 작동하지 않습니다.

분석할 코드 구성

다음 옵션을 사용하여 이 규칙이 실행될 코드베이스 부분을 구성합니다.

이 규칙, 적용되는 모든 규칙 또는 적용되는 이 범주의 모든 규칙(사용)에 대해 이 옵션을 구성할 수 있습니다. 자세한 내용은 코드 품질 규칙 구성 옵션을 참조하세요.

특정 API 화면 포함

접근성을 기반으로 이 규칙을 실행할 코드베이스의 파트를 구성할 수 있습니다. 예를 들어 규칙이 퍼블릭이 아닌 API 표면에서만 실행되도록 지정하려면 프로젝트의 .editorconfig 파일에 다음 키-값 쌍을 추가합니다.

dotnet_code_quality.CAXXXX.api_surface = private, internal