Reflection을 사용하여 .NET의 비공개 필드에 액세스
Reflection은 .NET 클래스의 내부 구성 요소를 검사하고 상호 작용하기 위한 강력한 메커니즘을 제공합니다. 자주 사용되는 애플리케이션은 필드와 같은 비공개 멤버에 액세스하고 수정하는 것입니다. 이 예에서는 사용자 정의 [SomeAttribute]
속성
핵심은 BindingFlags
열거형을 사용하는 것입니다. 이 솔루션은 아래 그림과 같이 BindingFlags.NonPublic
및 BindingFlags.Instance
플래그를 결합합니다.
<code class="language-csharp">FieldInfo[] fields = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);</code>
BindingFlags.NonPublic
은 GetFields
에 검색에 비공개 필드를 포함하도록 지시하는 반면, BindingFlags.Instance
는 검색을 인스턴스 필드(정적 필드 제외)로 제한합니다. 이러한 타겟 접근 방식을 통해 "_bar" 필드를 찾고 관련 속성을 포함한 세부 정보를 얻을 수 있습니다.
위 내용은 C#에서 리플렉션을 사용하여 특정 특성이 있는 '_bar'라는 개인 필드에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!