C# "Friend" 키워드에 해당
C에서는 "friend" 키워드를 사용하여 한 수업을 다른 수업으로. 그러나 이 기능은 C#에서 직접 지원되지 않습니다. 대신 InternalsVisibleTo 특성은 어셈블리 전체에서 비공개 멤버에 액세스하는 것과 부분적으로 동등한 기능을 제공합니다.
InternalsVisibleTo를 사용하는 방법
다른 어셈블리의 클래스가 비공개 멤버에 액세스할 수 있도록 하려면 다음을 수행하세요. InternalsVisibleTo 특성을 어셈블리 매니페스트에 추가할 수 있습니다. 예를 들어 AssemblyInfo.cs 파일에서 다음 코드를 사용할 수 있습니다.
[assembly: InternalsVisibleTo("OtherAssembly")]
이 특성을 사용하면 어셈블리 내부가 "OtherAssembly"라는 어셈블리에 표시됩니다.
예
다음을 고려하세요 class:
internal class TestClass { private int privateValue; }
별도의 어셈블리에서 privateValue에 액세스하는 클래스를 만들 수 있습니다.
public class TesterClass { public void DoSomething(TestClass instance) { // Set the value using reflection instance.GetType().GetField("privateValue", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(instance, 10); } }
리플렉션과 InternalsVisibleTo 특성을 사용하면 어셈블리 전체에서 private 멤버에 액세스할 수 있습니다. 테스트와 같은 특정 시나리오용.
위 내용은 C의 'Friend' 키워드와 C#의 동등성을 어떻게 달성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!