나는 .NET BackgroundWorker
클래스를 가지고 놀고있다. 이 기능의 일부로, 선택적인 사용자 매개 변수와 함께 백그라운드 작업이 완료 한 백분율로 전달할 수있는 ReportProgress
이라는 메서드를 호출 할 수 있습니다.개체에 익명 형식을 연결했습니다. 그것을 검색하는 방법?
결국 ReportProgress
은 이벤트 처리기를 호출하고 선택적 user 매개 변수는 이벤트 인수의 "UserState"멤버가됩니다.
여기에 분명히 존재하고 있지 않다 경우 빠른 샘플입니다 :
BackgroundProcess.ReportProgress(100, new{title="complete"});
/*****later on, this method is called******/
private void myEventHandler(object sender, RunWorkerCompletedEventArgs e)
{
//e.UserState is my anonymous type defined in the call to ReportProgress(...)
}
내 질문에, 어떻게 내 익명 형식의 "제목"값에 액세스 할 수 있습니까? 나는 내가 반사를 사용해야한다고 생각하지만, 지금까지 나는 운이 좋지 않다.
어리석은 일회성 유형을 정의해야한다는 것은 짜증나지만, 가장 관용적이며 가장 깨끗한 해결책은 여기에 title 속성으로 명명 된 유형을 정의하는 것입니다. 왜 반사에 귀찮았습니까? – mquander
하지만 필요한 것은 제목뿐입니다. 왜 객체를 정의해야합니까? 그냥 문자열을 전달하고 이벤트 핸들러에서 문자열로 캐스팅하면됩니다. –
귀하의 질문은 완전히 유효합니다. 그러나 지금은 학문적 인 질문입니다. 저는 이것을 반사회적으로 사용하도록 노력하고 있습니다. 매회 생각하고 있습니다. 그렇지 않습니다. – larryq