基本上我正在做的是从 Exception 转换为 GenericFaultException 类(下面的代码片段使用 C# 作为语言。
请参阅以下详细信息
FaultException<T>:FaultException(FaultException derived from exception)
FaultException:Exception
我使用下面的代码行创建了一个 faultExceptionObject
public class ValidationFault: IValidationFault
{
}
FaultException<ValidationFault> faultExceptionObject=new FaultException<ValidationFault>(new ValidationFault())
我有一个错误处理层,它对 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;
}
由于某种原因,这条线:
FaultException<IValidationFault> genericFaultException = exception as FaultException<IValidationFault>;
结果 genericFaultException总是等于 null,但从 QuickWatch 我看到 Exception 是类型FaultException<ValidationFault>
。我应该如何从 转换Exception
为FaultException<IValidationFault>
?
如果您需要更多信息,请告诉我。
提前致谢