동적 속성 이름을 사용하는 linq 쿼리를 작성하려고합니다. 그래서 예를 들어 속성 이름은 '시험'인 경우, 간단한 쿼리는 다음과 같습니다동적 속성 이름
var test = testList.Select(x => x.test).Distinct().ToList();
하지만 예를 들어, 동적 속성 이름을 생성 할 :
var propertyName = "test";
var test = testList.Select(x => x.propertyName).Distinct().ToList();
내가 얻을 'propertyName'이 실제 속성이 아니기 때문에 오류가 발생했습니다.
이것을 달성하는 가장 좋은 방법은 무엇입니까?
. 'testList'가'ExpandoObjects' (권장되지 않음)로 가득 차 있다면, 그것들을'IDictionary'로 캐스팅하고 문자열로 색인 할 수 있습니다. 리플렉션을 사용할 수도 있습니다 (모두 권장하지는 않습니다). 그러나 실제로이 작업을 수행 할 필요는 거의 없습니다. 해결 방법이 LINQ 쿼리를 사용하여 어떤 문제가 있습니까? –
... 오, 당신은'Expression '또는 무엇이든으로 속성 선택자 람다를 만들 수 있습니다. 나는 그것이 어쩌면 다른 사람들보다 더 권장되는 방법을 알지 못한다. –
답장을 보내 주셔서 감사합니다. 저는 아마도이 잘못된 방향으로 가고 있습니다. 난 그냥 이것과 비슷한 속성의 고유 값 목록을 추출하려고 해요 - http://stackoverflow.com/questions/10255121/get-a-list-of-distinct-values-in-list 하지만 이 작업을 수행하는 데 필요한 몇 가지 속성 및 클래스. 나는 코드를 복제 할 필요가 없도록 속성 이름을 동적으로 생성하려고했습니다. – richard