Вы хотите вызвать .name для класса объекта:
result.class.name
Как вы пытаетесь поймать исключение? Обычно то, что выбрасывается из вызова к Invoke()
, является экземпляром исключения упаковки System.Reflection.TargetInvocationException
. Фактическое исключение, которое вам нужно, будет в InnerException
.
try
{
method.Invoke(target, params);
}
catch (TargetInvocationException ex)
{
ex = ex.InnerException; // ex now stores the original exception
}