2014-09-10 2 views
3

나는 그렇게하기 위해 모든 I 그 필요성이 AllKeys 속성에 액세스 할 것을 제안이 사이트 [1][2][3]Application.OpenForms Linq에와 수집 및 몇 가지 질문을 필터링 할 수 Where를 사용하고 싶습니다. 그러나 새 Windows Forms 응용 프로그램을 만들 때도 컬렉션에이 속성이 전혀없는 것 같아 사용하려고하면 컴파일되지 않습니다. 그 이유는 무엇일까요?Linq로 Application.OpenForms 컬렉션을 필터링하는 방법은 무엇입니까?

+3

'Application.OpenForms.Cast

() .Where (x => ...); ' –

답변

4

당신은 IEnumerable<T>IEnumerable를 구현하지 않습니다 FormCollection 때문에 캐스팅해야합니다 :

var query = Application.OpenForms.Cast<Form>() 
    .Where(form => ...); 

그러나, Form는 더 AllKeys 속성이 없습니다. 웹 양식과 winforms를 혼동하고 있습니까? 전자의 경우에는 Application.OpenForms이 없습니다.

+0

그 두 가지를 혼동했을 수 있습니다. 어쨌든, 당신이 제공 한 코드가 정확히 내가 필요로하는 것입니다! – electroLux

관련 문제