2012-10-23 6 views
0

WF4는 메서드에 위임하는 데 사용할 수있는 4 가지 작업을 사용합니다. 이렇게WorkflowApplication.OnUnhandledException과 함께 대리자를 사용하는 방법

_workflowApplication.Completed = delegate(WorkflowApplicationCompletedEventArgs e) { WorkflowApplicationCompleted(e); }; 

그러나 2 개의 기능도 있습니다. 인라인으로 사용하는 방법을 볼 수 있지만 메서드에 위임하도록합니다.

내가 시도 :

_workflowApplication.PersistableIdle = delegate(WorkflowApplicationIdleEventArgs e) { WorkflowApplicationPersistableIdle(e); }; 

하지만 난 아무 return 문이 없습니다.

_workflowApplication.OnUnhandledException = (returnValue) => WorkflowApplicationOnUnhandledException(e, returnValue); 

을하지만, 전자는 해결되지 않습니다

나는 시도했다.

메소드에 위임하려면 어떻게해야합니까?

답변

2
private void SetExceptionHandler(WorkflowApplication app) 
{ 
    app.OnUnhandledException = x => HandleTheUnhandled(x); 
} 

private UnhandledExceptionAction HandleTheUnhandled(
    WorkflowApplicationUnhandledExceptionEventArgs args) 
{ 
    //some logic 
    return UnhandledExceptionAction.Abort; 
} 

또는

app.OnUnhandledException = x => 
{ 
    // some logic 
    return UnhandledExceptionAction.Abort; 
}; 

또는 어떤 로직이 필요하지 않은 경우,

app.OnUnhandledException = x => UnhandledExceptionAction.Abort; 

람다. 그것들을 배우십시오. 그들을 사랑해.

관련 문제