다음을 통해 공유


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

속성
규칙 ID CA2226
제목 연산자에는 대칭 오버로드가 있어야 합니다.
범주 사용 현황
수정 사항이 호환성을 깨뜨리는지 여부 또는 무중단인지 여부 주요 변경 아님
.NET 10에서 기본적으로 사용하도록 설정 아니요
적용 가능한 언어 C# 및 Visual Basic

원인

타입이 동등 연산자 또는 상이 연산자를 구현하지만, 그 반대 연산자는 구현하지 않습니다.

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

규칙 설명

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

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

위반 문제를 해결하는 방법

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

경고를 표시하지 않는 경우

이 규칙에서 경고를 무시하지 마십시오. 이렇게 하면 형식이 .NET과 일치하는 방식으로 작동하지 않습니다.

분석할 코드 구성

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

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

특정 API 화면 포함

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

dotnet_code_quality.CAXXXX.api_surface = private, internal

메모

XXXX CAXXXX 부분을 해당 규칙의 ID로 바꿉니다.