C#에서 속성 이름에 문자열로 액세스
C# 프로그래밍에서는 특히 리플렉션을 사용할 때 속성 이름을 문자열로 가져와야 하는 경우가 많습니다. 이는 동적 메서드 호출이나 실수로 속성 이름을 변경하는 것을 방지하는 등의 작업에 매우 유용합니다.
nameof
연산자 활용(C# 6.0 이상)
C# 6.0부터 nameof
연산자는 간단하고 효율적인 솔루션을 제공합니다. nameof(SomeProperty)
표현식은 컴파일 타임에 "SomeProperty" 문자열을 직접 생성합니다.
일반 속성 이름 검색 방법
C# 6.0 이전 버전의 경우 일반 메서드가 해결 방법을 제공합니다.
<code class="language-csharp">public static string GetPropertyName<T>(Expression<Func<T>> propertyLambda) { var me = propertyLambda.Body as MemberExpression; if (me == null) { throw new ArgumentException("Invalid lambda expression"); } return me.Member.Name; }</code>
이 메서드는 속성을 참조하는 람다 식을 받아들이고 해당 이름을 반환합니다.
실습
GetPropertyName
방법을 활용하는 방법은 다음과 같습니다.
<code class="language-csharp">// For a static property: string propertyName = GetPropertyName(() => SomeClass.SomeProperty); // For an instance property: string propertyName = GetPropertyName(() => someObject.SomeProperty);</code>
요약
최신 nameof
연산자를 사용하든 GetPropertyName
메서드를 사용하든 관계없이 속성 이름을 문자열로 검색하는 것이 단순화되어 리플렉션 및 리팩토링을 처리할 때 코드 유지 관리성과 견고성이 향상됩니다.
위 내용은 C#에서 속성 이름을 문자열로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!