문제

나는 어떤 엣지 케이스가 존재할 수 있는지 궁금했다 공통 언어 사양 준수 허용 가능. 다른 언어에서 액세스 할 의도가 없더라도, 나는 신조가 CLSCompliantAttribute 좋은 모범 사례입니다.

당신은 어디에 사례를 만나 / 알고 있습니까? 야그니 모범 사례보다 중요합니까?

도움이 되었습니까?

해결책

[sic] CLS를 준수하는 데 어떤 용도가 있습니까?"

중간 신뢰, Clickonce, 공유 네트워크 드라이브, 도메인 설정에서 게스트 프로파일 등에서 실행됩니다. CLS 준수를 중단하면 코드를 실행할 수없는 많은 보안 상황이 있습니다.

사용자가 공유 네트워크 드라이브에서 응용 프로그램을 실행하려고하는 많은 상황을 개인적으로 보았으며 로컬 관리자가 보안 프로파일에서 비 CLS 호환 응용 프로그램을 죽였 기 때문에 할 수 없습니다.

일반적으로 일반적으로 문제를 해결하는 방법이 있습니다. 나는 위의 의견에 반대 접근을 할 것입니다. 왜 그것을 깨뜨릴까요? 당신은 관리 코드를 작성하고 있습니다. 왜 의도적으로 응용 프로그램을 제한하고 싶습니까?

API 어셈블리 또는 구성 요소를 구축하는 경우 항상 준수해야한다고 말합니다. 너무 많은 타사 구성 요소가 쉬운 길을 가고 중간 신뢰에서 실행하려고 할 때 깨진 것으로 표시합니다. 어떤 경우에는 이것이 그들이 달릴 수없는 유일한 이유입니다. 가이드 라인을 준수하는 데 시간이 조금 더 걸렸다면, 사용자는 구성 요소를 어떻게 사용할 수 있는지에 대해서는 제한되지 않습니다.

다른 팁

글쎄, 속성의 "매개 변수"어레이는 때때로 유혹적이지만 (그러나 준수하지 않음) 때때로 유혹적입니다. 그러나 가능할 때마다 CLS 호환 접근법을 사용하는 것이 좋습니다.

이러한 기능이나 성능 이유가 필요한 레거시 레이어로 작업 할 때 제품 내부의 라이브러리 내부에서는 허용 가능하다고 생각합니다.

그러나 이러한 비 부적절한 인터페이스는 더 높은 수준에서 캡슐화되어야합니다.

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