2009-07-28 2 views
2

예를 들어 ... 일부 비동기 작업을 수행하는 메서드가 있고 일단 완료되면 콜백 호출을 알리고 싶습니다. 대리자를 사용하겠습니까?일부 비동기 작업 후에 대리자를 콜백으로 사용하는 것이 옳은가요?

나는 그것이 어떻게 작동 할 것인가를 생각할 수는없는 것 같습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까? 그것에 대해

내가 좋아하는 뭔가를 찾고 있었어요 ....

public class ContentContext 
{ 
     public delegate void SuccessCallback(Dictionary<String, String> content); 

     public void DoSomeAsyncOpertaion(SuccessCallback successCallback) 
     { 
      //do something and then fire the callback 
     } 
} 

하지만 뭔가 재미있는 냄새가 난다.)

건배 J

+0

내게 잘 어울리는 것 같습니다 –

+0

그것은 완벽하게 올바른 IMHO ... –

답변

1

을 스레드에 대한 몇 가지 정보를 얻을. 당신은 자신에게 위임 선언을 저장하고 바로 작업 <>

를 사용할 수 있지만 나는 official patternIAsyncResult을 사용하는 것입니다 생각, 그래서 당신은 frameowrk을 개발한다면하는 것이 좋습니다 것입니다.

0

내가 그 괜찮 생각을, 여전히이 C#을 물건과 함께 초보자 나의 무지를 용서. AsyncCallback Delegate을 사용할 수도 있습니다.

2

콜백은 비동기 작업과 동일한 스레드에서 호출되지만 괜찮습니다.

이 문제가 있으면 ... 닷넷, SynchronizationContext, BackgroundWorder 나에게 잘 보이는

+0

콜백 스레드의 좋은 점. –

관련 문제