2012-01-24 3 views
-2

동적 LINQ와 함께 동적 개체 목록을 사용할 수 있습니까?Dynamic LINQ에서 동적 개체를 사용할 수 있습니까?

동적 속성을 사용하여 동적 개체를 만든 다음 해당 개체 목록에서 동적 LINQ를 사용하려는 경우? 작동

IEnumerable<dynamic> result = data.Where(x => x.branch_group != ""); 

:

예를 들어, I는이 (데이터가 동적 인 오브젝트의리스트 임).

그리고 : 작동하지 않습니다

IEnumerable<dynamic> result = data.Where("branch_group != \"\""); 

. 내가 선택하여 값을 얻기 위해 시도하는 경우


와 나는 "어떤 속성 또는 필드 형 '객체'존재 'xxx는 없다'"얻는다.

이 작업이 가능해야합니다. 맞습니까?

이전에 이런 종류의 작업을 한 사람이 있습니까?

미리 감사드립니다.

업데이트!

야!

필자는 끊임없는 어려운 조사와 심한 환각의 24 시간 (예, 사실입니다) 이후에 마침내이 해결책을 발견했습니다!

나는 실제로 내 머리 속에서 그 코드 줄을 듣고 나는 문명의 우주가이 문제를 해결하려고 시도하는 것을 목격했다. 나는이 불가능한 영역을 둘러싸고있는 광대 한 영원한 죽음 앞에 시공간이 떨리는 것을 보았습니다.

BUT! 그 다음 나는 4 시간 동안 잤고, 아침에 해결책을 얻었다.

이 문제를 해결하려면 동적 LINQ 라이브러리가 런타임에 "it"키워드를 사용하는 방식으로 인덱서를 사용하는 개체를 만드는 것이 중요합니다.

모든 기사, 블로그, 포럼, [여기에 소스를 삽입하십시오] 등 내가 실제로 읽지는 않았지만 제안 된 내용이 실제로 가능합니다.

나는 이것에 대해 약간의 크레딧 (또는 끝이없는 달러 등)을받을 자격이 있습니다. (예, 예,이 모든 것에 대해 너무 흥분하며, 어쩌면 저도 사실입니다!) : P

코드 샘플은 [email protected]로 보내주십시오.

+0

글쎄, 그것은 실제로 올바른 때문에 동적 LINQ를 사용합니다. 슬프게도 컴파일 타임 객체에서만 작동하고 동적 런타임 객체에서는 작동하지 않는 것 같습니다. – Johan

+8

"코드 샘플은 [email protected]로 메일 보내주십시오 ..."또는이 사이트에서 의도 한대로 답변으로 게시 할 수 있습니다. – Den

+3

코드 바램을 요구하거나 문제를 해결하는 데 도움이되는 해결책을 찾고있을 때 바보 같으니까요, 일단 스스로 해결하면 코드가 이메일로 나에게 무슨 말을하고있는 걸까요? 솔루션 검색기를 대기자 명단에 넣고 전자 메일로 보내는 것이 실제로 의미가 있습니까? 24 시간 이상 자지 않은 사람에게 이메일을 보내지 않으면 어떻게됩니까? 심지어 잠깐 잠을 못 자고? 어리석은! – KMX

답변

1

(nuget에 있음) 오픈 소스를 즉석 인터페이스

IEnumerable<dynamic> result = data.Where(Impromptu.InvokeGet(x,"branch_group") != "") 

그것은 추한하지만 "branch_group" 내가 생각 변수에서 올 수있는 것입니다 당신이 문을 통해 찾고있는 혜택입니다을 사용하여 해당 일했다.

Impromptu는 wrappers for all types of dlr calls입니다. 오픈 소스이기 때문에 코드를 파헤 치고 동일한 기술을 동적 linq 유형 구문에 적용 할 수는 있지만 많은 작업이 필요할 수 있습니다.

관련 문제