public void GetQuestionnaireAsync(Action <IOperationResult <Questionnaire> > callback) { IAsyncResult asyncResult = this.service.BeginGetQuestionnaire( (ar) => { OperationResult <Questionnaire> operationResult = new OperationResult <Questionnaire>(); try { operationResult.Result = service.EndGetQuestionnaire(ar); } catch (Exception ex) { operationResult.Error = ex; } synchronizationContext.Post( (state) => { callback(operationResult); }, null); }, null); }