Reflection을 활용하여 속성 값 수정
강력한 .NET 프레임워크 기능인 Reflection을 사용하면 개체와 그 구성원을 검사하고 수정할 수 있습니다. 동적으로. 이 맥락에서는 리플렉션을 활용하여 C# 클래스 내의 특정 속성 값을 설정하는 방법을 살펴보겠습니다.
"first_name"과 같은 속성 이름을 알고 있는 시나리오를 생각해 보세요. 이 문자열을 사용하여 해당 값을 수정하려고 합니다. Reflection은 이 문제에 대한 해결책을 제공합니다.
원하는 결과를 얻으려면 다음 단계를 수행할 수 있습니다.
제공된 코드 샘플은 이 접근 방식을 예시합니다.
class Person { public string Name { get; set; } } class Test { static void Main(string[] arg) { Person p = new Person(); var property = typeof(Person).GetProperty("Name"); property.SetValue(p, "Jon", null); Console.WriteLine(p.Name); // Jon } }
속성의 접근성이 비공개인 경우 다음과 같이 BindingFlags를 지정합니다.
var property = typeof(Person).GetProperty("Name", BindingFlags.NonPublic | BindingFlags.Instance);
리플렉션의 도움으로 속성 값을 동적으로 설정하는 것이 가능해지며 코드 조작 및 런타임에 유연성을 제공합니다. 행동.
위 내용은 C#에서 리플렉션을 사용하여 속성 값을 동적으로 설정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!