개발 친구 모임이란 무엇입니까? -techopedia에서 정의

친구 모임이란 무엇입니까? -techopedia에서 정의

차례:

Anonim

정의-친구 조립이란 무엇입니까?

C #에서 친구 어셈블리는 다른 어셈블리의 멤버에 액세스 할 수있는 .NET 어셈블리를 나타냅니다. 친구 어셈블리에서 액세스 한 어셈블리의 멤버는 다음과 같이 표시해야합니다.

내부의.


친구 어셈블리는 다른 특정 어셈블리에서 한 어셈블리의 내부 클래스와 멤버에 액세스해야하는 시나리오에서 사용됩니다. 두 개의 특정 어셈블리가 멤버 또는 기능을 공개하지 않고 공유 할 수 있습니다.


프렌드 어셈블리는 또한 테스트 코드의 기초가되는 어셈블리가 테스트 할 어셈블리에서 내부로 표시된 멤버에 액세스해야하는 유닛 테스트에 사용됩니다. 기존 어셈블리의 멤버에 액세스해야하는 별도의 어셈블리에 포함 된 추가가 필요한 클래스 라이브러리 개발에 유용합니다.

Techopedia는 친구 회의를 설명합니다

클래스 멤버를 내부로 표시하면 동일한 어셈블리 내의 다른 클래스는 볼 수 있지만 어셈블리 외부에있는 클래스는 비공개입니다. 친구 어셈블리에서 내부 멤버에 액세스하려면 내부 멤버가 정의 된 어셈블리에서 InternalsVisibleToAttribute 특성을 사용하여 친구 어셈블리 이름을 지정해야합니다. 친구 어셈블리는 개인 유형 및 개인 구성원에 액세스 할 수 없습니다.


예를 들어, 어셈블리 Y가 내부로 표시된 어셈블리 X의 모든 유형과 멤버에 액세스 할 수 있도록 어셈블리 X의 InternalsVisibleToAttribute를 사용하여 어셈블리 Y를 친구 어셈블리로 지정할 수 있습니다.


다음은 프렌드 어셈블리 개발과 관련된 지침입니다.

  • 서명 된 어셈블리를 사용하는 동안 'sn.exe'도구를 사용하여 친구 어셈블리를 지정하는 특성에 전달해야하는 공개 키를 얻을 수 있습니다.
  • 다른 어셈블리의 내부 멤버에 액세스하는 친구 어셈블리를 컴파일하는 동안 출력 파일 이름 (.exe 또는 .dll)으로 컴파일러 옵션 (/ out)을 설정해야합니다.
  • 액세스해야하는 어셈블리와 친구가되어야하는 모든 어셈블리를 명시 적으로 지정해야합니다.
  • 캡슐화 규칙을 위반하지 않고 친구 어셈블리를 사용하는 것이 좋습니다.
이 정의는 C #의 맥락에서 작성되었습니다.
친구 모임이란 무엇입니까? -techopedia에서 정의