WF4使用4个Action,我可以用它来委托方法。像这样。
_workflowApplication.Completed = delegate(WorkflowApplicationCompletedEventArgs e) { WorkflowApplicationCompleted(e); };
然而,还有2个Func。我可以看到如何在线使用它们,但我希望它们委托给一个方法。
我试过了:
_workflowApplication.PersistableIdle = delegate(WorkflowApplicationIdleEventArgs e) { WorkflowApplicationPersistableIdle(e); };
但我没有回复声明。
我试过了:
_workflowApplication.OnUnhandledException = (returnValue) => WorkflowApplicationOnUnhandledException(e, returnValue);
但是e没有解决。
如何委托给某个方法?
答案 0 :(得分: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;
lambda表达式。学习它们。爱他们。