C#에 'nameof' 연산자가 없다는 점은 개발자들 사이에서 논의를 불러일으켰습니다. 이 연산자를 구현하면 속성 이름을 nameof(Customer.Name)의 "Name"과 같은 문자열로 검색할 수 있습니다.
유형이 안전한 데이터 바인딩이 필요한 시나리오의 경우 개발자는 다음에서 해결 방법을 찾았습니다. 'nameof'가 없습니다. 람다 식을 활용하는 한 가지 솔루션이 .NET 3.5에 등장했습니다. 그러나 이 해결 방법을 찾는 것은 어려울 수 있습니다.
.NET 3.5에서 'nameof' 기능을 구현하려면 다음 접근 방식을 채택할 수 있습니다.
using System; using System.Linq.Expressions; class Program { static void Main() { var propName = Nameof<SampleClass>.Property(e => e.Name); Console.WriteLine(propName); } } public class Nameof<T> { public static string Property<TProp>(Expression<Func<T, TProp>> expression) { var body = expression.Body as MemberExpression; if (body == null) throw new ArgumentException("'expression' should be a member expression"); return body.Member.Name; } }
이 코드는 효과적으로 검색하고 표시합니다. 유형 안전성을 보장하면서 속성 이름을 문자열로 사용합니다.
위 내용은 `nameof` 연산자 없이 C#에서 형식이 안전한 데이터 바인딩을 달성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!