>백엔드 개발 >C++ >C#은 C의 'friend' 키워드와 유사한 기능을 어떻게 달성합니까?

C#은 C의 'friend' 키워드와 유사한 기능을 어떻게 달성합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-29 17:24:18595검색

How Does C# Achieve Functionality Similar to C  's

C#에서 Friend 키워드와 동일

C에서 "friend" 키워드는 한 클래스의 private 멤버에게 다른 클래스에 대한 액세스 권한을 부여합니다. C#에는 직접적으로 동등한 것이 없지만 "InternalsVisibleTo" 속성은 테스트 목적으로 제한된 액세스를 제공합니다.

"InternalsVisibleTo" 속성 사용

"InternalsVisibleTo" 특성은 각 어셈블리 내의 AssemblyInfo.cs 파일에 배치됩니다. 이는 비공개 멤버를 포함하여 내부 멤버에 액세스할 수 있는 다른 어셈블리를 지정합니다.

Tester 클래스가 다른 클래스의 비공개 멤버에 액세스하도록 허용하려면 다음을 수행하세요.

// AssemblyInfo.cs
[assembly: InternalsVisibleTo("TesterAssembly")]

"TesterAssembly"는 테스터가 포함된 어셈블리의 이름이어야 합니다. class.

제한 사항

"InternalsVisibleTo"는 "friend" 키워드와 실제로 동일하지 않으며 몇 가지 제한 사항이 있습니다.

  • 만 비공개 멤버가 아닌 내부 멤버가 노출됩니다.
  • 어셈블리에만 사용할 수 있으며, 사용할 수는 없습니다.
  • 상속된 비공개 멤버에게는 액세스 권한을 부여하지 않습니다.
  • 테스트 목적으로만 사용되며 다른 시나리오에는 사용하면 안 됩니다.

위 내용은 C#은 C의 'friend' 키워드와 유사한 기능을 어떻게 달성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.