외부 어셈블리에서 내부 클래스 액세스
외부 어셈블리가 공급업체에서 제공한 내부 유형의 개체에 액세스해야 하는 시나리오에서 조립하다 난관에 부딪히게 됩니다. 이 기사에서는 공급업체 어셈블리를 수정하지 않고 이 문제를 극복하는 방법을 살펴봅니다.
딜레마
다음 시나리오를 고려하십시오. 외부 어셈블리에는 벤더 어셈블리. 그러나 이 개체는 실제로 외부 어셈블리에서 필드와 메서드에 액세스할 수 없는 내부 클래스의 인스턴스입니다.
해결책: InternalsVisibleTo 속성
By 기본적으로 내부 멤버는 해당 멤버가 정의된 어셈블리 내에서만 액세스할 수 있습니다. 그러나 "friend" 어셈블리에는 예외가 있습니다.
내부 멤버에 대한 외부 어셈블리("friend" 어셈블리) 액세스 권한을 부여하려면 AssemblyInfo.cs 파일에 [어셈블리: InternalsVisibleTo] 특성을 추가합니다.
이 속성을 사용하면 외부 어셈블리가 공급업체 어셈블리의 내부 멤버가 자체 어셈블리 내부에 있는 것처럼 액세스할 수 있습니다.
참고: 이 솔루션은 내부 멤버를 외부 어셈블리에 노출하므로 테스트 목적으로만 적합합니다.
위 내용은 공급업체 어셈블리를 수정하지 않고 외부 어셈블리에서 내부 클래스에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!