You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于MethodInfo.Invoke方法及Object与object区别的技术问询

关于C#中MethodInfo.Invoke和Object/object的疑问解答

1. 为什么MethodInfo可以调用Invoke方法?

你没记错,MethodInfo类本身确实没有定义Invoke方法,但它继承自MethodBase类,而Invoke(object, object[])方法是在MethodBase中定义的。所以MethodInfo实例可以直接调用这个方法。

另外代码里传入的"Hello, World!"是字符串类型,它是object的子类,所以可以直接作为第一个参数传入(第一个参数表示调用该方法的实例,对于实例方法来说必须传;如果是静态方法,这个参数传null即可)。

2. Object和object的区别

在C#里,这俩完全是一回事:

  • object是C#的关键字,它是System.Object的别名
  • Object是System.Object的简写,前提是你的代码里已经引入了using System;命名空间

两种写法编译后的IL代码完全一样,只是编码风格的区别。团队或个人习惯用哪种都可以,没有功能上的差异。

内容的提问来源于stack exchange,提问作者Deva Raja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 02:15:38