zasadzie robię jest konwersja z wyjątek klasy GenericFaultException (kod poniżej urywek używa C# jako język.Generic konwersja
Zobacz szczegóły poniżej
FaultException<T>:FaultException(FaultException derived from exception)
FaultException:Exception
Stworzyłem faultExceptionObject pomocą poniżej linii kodu
public class ValidationFault: IValidationFault
{
}
FaultException<ValidationFault> faultExceptionObject=new FaultException<ValidationFault>(new ValidationFault())
mam warstwę obsługi błędów, które nie mają żadnego pojęcia o klasie ValidationFault, tylko ona wie 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;
}
Z jakiegoś powodu wiersza:
FaultException<IValidationFault> genericFaultException = exception as FaultException<IValidationFault>;
skutkuje genericFaultException zawsze równa null, ale z QuickWatch widzę Wyjątek jest typu FaultException<ValidationFault>
. Jak należy przekonwertować z Exception
na FaultException<IValidationFault>
?
Proszę dać mi znać, jeśli potrzebujesz więcej informacji.
góry dzięki
Wygląda jak C#, ale nie powinienem zgadywać. Dodaj odpowiedni tag języka. –
Zdecydowanie chodzi o leki generyczne. –
@Tejas: tak, teraz tak właśnie jest. Ale proszę przeczytaj V1;) – quetzalcoatl