【发布时间】:2014-06-23 11:52:51
【问题描述】:
我有一个使用工作流基础的规则验证器。当我的规则失败时,我需要使用本地 Error 类对象调用 HandleError 函数。但我找不到传递此对象的方法。
当我将 Error 类声明为公共变量时,它工作正常
//Rule then action
private void ThenAction()
{
//Local error object.I need to pass this variable to HandleErrorFunction
ErrorData error = new ErrorData();
CodeMethodInvokeExpression codeMethodInvokeExpression = new CodeMethodInvokeExpression(new CodeThisReferenceExpression(),
"HandleError");
CodeDirectionExpression param1 = new CodeDirectionExpression(FieldDirection.In,
new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "error"));
codeMethodInvokeExpression.Parameters.Add(new CodePrimitiveExpression("Error for " + stateMachineType.stateMachineId));
codeMethodInvokeExpression.Parameters.Add(param1);
}
//Error handling function
private void HandleError(ErrorData newError)
{
//Handle new error
}
【问题讨论】:
标签: c# workflow-foundation rule-engine business-rules