InternalsVisibleTo 특성의 존재를 알고 있습니다.이 클래스는 모든 내부 클래스를 외부 어셈블리에서 볼 수있게합니다. 내 경우하나의 내부 클래스 만 다른 어셈블리에서 볼 수 있도록 표시하십시오.
나는 모든 클래스는 하나의 특정 조립에 볼 수 있어야합니다 유틸리티 프로젝트가 있습니다. 외부 프로젝트가 아닌 솔루션의 다른 모든 어셈블리에서 볼 수있는 Extension 메서드가 포함 된 하나의 클래스를 제외한 모든 클래스.
이 결과를 얻는 가장 좋은 방법은 무엇입니까?
정말요? 코드 냄새? 어쩌면 내가 친구 모임의 목적을 오해했을 수도 있습니다. 내가 원한 것은 솔루션의 다른 어셈블리에만 내 코드를 공유하는 것입니다. 다른 프로젝트의 다른 누군가를 차단하여 코드를 잡고 작업에 사용하고 싶습니다. – simoneL
@simoneL 코드 냄새가 나는 이유는 이미 가시성을위한 몇 가지 구조가 있다는 것입니다. 일부 서비스를 제공해야하는 경우 공개해야합니다. 그렇지 않다면 내부적이어야합니다. – SKleanthous
@simoneL 제공된 서비스에 대한 액세스를 제한해야하는 경우 인터페이스가 공개되고 일부가 내부적이며 클래스가 내부 클래스 인 경우 클래스가이 인터페이스를 구현하게하십시오. 해당 클래스의 참조가 외부 어셈블리에서 필요하면 팩토리를 강제로 작성하고 인터페이스 중 하나로 리턴하십시오. – SKleanthous