문제

예를 들어, Visual Basic .NET에는 이전에 오퍼레이터 오버로드가 없었기 때문에 일반 메소드로 제공되지 않으면 오버로드 된 연산자를 사용할 수 없습니다 (운영자+대신 추가).

이제 VB 가이 기능을 갖추고 있으므로 ClsCompliant 속성은 ADD와 같은 일반적인 정적 메소드가 있으면 운영자 과부하 대신 빼기 만하면됩니다.

구두 정적 방법이없는 일부 유형을 작성했지만 연산자 과부하 만 사용했으며 C# 컴파일러는 신경 쓰지 않았습니다. 그것이 문제라면, 그것은 나에게 경고 할 것입니다.

도움이 되었습니까?

해결책

CLS 준수는 관련이 없습니다 나이가 많습니다 아무것 - 합리적으로해야 할 것은 단순히 핵심 기능 세트입니다. 예상하다 처리 할 임의의 언어 (코드를 소비 할 때). 예를 들어 그렇지 않습니다 언어가 사례에 민감하다고 가정하는 것이 합리적이므로 회원 "FOO"및 "FOO"는 C#에서 합법적 인 반면 CLS를 준수하지 않습니다.

컴파일러는 당신이 요청하면 경고합니다. 추가하다 [CLSCompliant(true)] 유형 / 어셈블리 / 등에 귀하의 주장을 확인합니다.

ISV 인 경우 CLS 규정 준수에 대해 생각할 수 있습니다. 자신과 팀을 위해 코드를 작성하는 경우 오버 헤드가 필요하지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top