익명 유형으로 캐스팅
WinForm의 BindingSource 컨텍스트에서 익명 유형의 유형 및 속성 값을 검색하는 문제에 직면할 수 있습니다. BindingSource의 Current 속성에서 입력합니다. 익명 유형은 경량 데이터 구조를 정의하는 편리한 방법을 제공하지만 이를 사용하면 캐스팅 문제가 발생할 수 있습니다.
이 문제를 해결하려면 컴파일러 추론을 활용하는 기술을 사용할 수 있습니다.
private static void TestMethod(Object x) { // Dummy value to establish the desired type var a = new { Id = 0, Name = "" }; a = Cast(a, x); Console.Out.WriteLine(a.Id + ": " + a.Name); } private static T Cast<T>(T typeHolder, Object x) { return (T)x; }
이 코드에서 Cast 함수는 typeHolder 매개변수를 활용하여 x에 대해 원하는 유형을 추론합니다. 이 트릭은 동일한 속성과 순서를 가진 익명 유형이 동일한 기본 유형에 매핑된다는 사실을 활용합니다.
다음 사용법을 고려하세요.
var value = x.CastTo(a);
이 접근 방식을 사용하면 다음의 속성에 액세스할 수 있습니다. 익명 유형의 경우 일반적으로 애플리케이션에서 전달될 데이터 구조에 실제 유형을 사용하는 것이 좋습니다. 익명 유형은 로컬 단일 메서드 사용에 가장 적합합니다.
위 내용은 WinForms BindingSource에서 익명 유형으로 어떻게 캐스팅할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!