J'appelle, par la réflexion, une méthode qui peut provoquer une exception. Comment puis-je transmettre l'exception à mon appelant sans que la réflexion de l'enveloppe ne la contourne? Je réécrit l'InnerException, mais cela détruit la trace de la pile. Exemple de code:
public void test1()
{
// Throw an exception for testing purposes
throw new ArgumentException("test1");
}
void test2()
{
try
{
MethodInfo mi = typeof(Program).GetMethod("test1");
mi.Invoke(this, null);
}
catch (TargetInvocationException tiex)
{
// Throw the new exception
throw tiex.InnerException;
}
}