У меня есть этот код, который вызывает MethodInfo:
try
{
registrator.Method.Invoke(instance, parameters);
}
catch{
registrator.FailureType = RegistratorFailureType.ExceptionInRegistrator;
//registrator.Exception = e;
}
Регистратор - это просто оболочка MethodInfo, свойство Method - это сам объект MethodInfo. параметрами является и object [], а instance - правильный экземпляр декларирующего типа метода (созданного с помощью Activator.Create).
Метод выглядит следующим образом (я тестировал исключение):
class Test : Plugin, ITest
{
public void Register(IWindow window)
{
throw new Exception("Hooah");
}
}
Проблема в том, что исключение никогда не перехватывается, и появляется всплывающее окно необработанного исключения Visual Studio.
Это в VS 2010 с .NET 4.0