温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-06-27 19:08:45 来源:网络 阅读:3174 作者:cnming 栏目:编程语言

使用 InnerException 就可以显示出反射调用里头的错误信息。

 

  1. void fn(int n)  
  2. {  
  3.     if (n >= 10)  
  4.         return;  
  5.     throw new ArgumentException("参数必须大于10");  
  6. }  

 

  1. Type type = typeof(Program);  
  2. object instance = Activator.CreateInstance(type);  
  3. MethodInfo mi = type.GetMethod("fn", BindingFlags.NonPublic | BindingFlags.Instance);  
  4. try 
  5. {  
  6.     mi.Invoke(instance, new object[] { null });  
  7. }  
  8. catch(TargetInvocationException targetEx)  
  9. {  
  10.     if (targetEx.InnerException != null)  
  11.     {  
  12.         throw targetEx.InnerException;  
  13.     }  
  14. }  

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI