您的位置:首页 > 其它

Invoke、InvokeMember提示“调用的目标发生了异常”

2011-12-12 15:27 531 查看
使用 InnerException 就可以显示出反射调用里头的错误信息。

void fn(int n)
{
if (n >= 10)
return;
throw new ArgumentException("参数必须大于10");
}


Type type = typeof(Program);
object instance = Activator.CreateInstance(type);
MethodInfo mi = type.GetMethod("fn", BindingFlags.NonPublic | BindingFlags.Instance);
try
{
mi.Invoke(instance, new object[] { null });
}
catch(TargetInvocationException targetEx)
{
if (targetEx.InnerException != null)
{
throw targetEx.InnerException;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐