基本上我正在做的是从Exception转换为GenericFaultException类(下面的代码片段使用C#作为语言.
请参阅以下详细信息
FaultException<T>:FaultException(FaultException derived from exception)
FaultException:Exception
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码行创建了一个faultExceptionObject
public class ValidationFault: IValidationFault
{
}
FaultException<ValidationFault> faultExceptionObject=new FaultException<ValidationFault>(new ValidationFault())
Run Code Online (Sandbox Code Playgroud)
我有一个错误处理层,它对ValidationFault类没有任何了解,只知道IValidationFault.
public Exception HandleException(Exception exception, Guid handlingInstanceId)
{
FaultException<IValidationFault> genericFaultException = exception as FaultException<IValidationFault>;
//********genericFaultException is always NULL**********************
IValidationFault fault = genericFaultException.Detail as IValidationFault;
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,该行:
FaultException<IValidationFault> genericFaultException = exception as FaultException<IValidationFault>;
Run Code Online (Sandbox Code Playgroud)
genericFaultException的结果总是等于null,但是从QuickWatch我看到Exception是类型的FaultException<ValidationFault>.我该如何转换Exception为FaultException<IValidationFault>?
如果您需要更多信息,请与我们联系.
提前致谢