Invoke(this, new object[] { });返回值 判断是什么意思

那该多好啊!!! 2024-07-20 13:39:28

 Type t = this.GetType();
 MethodInfo mt = t.GetMethod($"Step_{stepid}");//这是反射执行里面的方法
 bool iresult = (bool)mt.Invoke(this, new object[] { });//这一句不明白,请问这个结果判断是什么意思        
 if (!iresult)//
 {
     isError = true;
     break;
 }

...全文
128 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2024-07-23
  • 打赏
  • 举报
回复

invoke 就是通用同步调用。但是应为通用了,所以他不区分类型,他统一转换成object
所以前面有个强制转换 (bool)

总结,这个没有结果判定。这是业务逻辑约定,等同一调用一个 bool XXX()方法,所以没有什么意思不意思。这个方法你写成普通的也是
bool xx=xxx(); if(xx)

by_封爱 版主 2024-07-23
  • 打赏
  • 举报
回复

this.gettype 表示拿到当前对象的类型. 包含里面的方法/属性/字段等等...

getmethod 表示获取方法.

Invoke表示执行. 参数1就是固定的 参数2表示方法的参数. 结果是object 转换成bool 并判断.

比如 原始代码大概就是这样的

public class abc
{
}
public bool Step_1(int id)
{
 return true;
}

当你执行了 你上面的代码 就会调用Step_1 并返回true

111,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧