C# - 如何获取 MethodInfo 的来源实例?



我读到MethodInfo只有关于方法的信息,没有关于来自的实例的信息,但是get实例有一些技巧可以调用该方法作为该实例的一部分?

例如:

MethodInfo someMethodInfo;
var obj = GetMethodInstance(someMethodInfo);
someMethodInfo.Invoke(obj, null);

MethodInfo 不与任何实例关联,它发现方法的属性并提供对方法元数据的访问。

类表示类型的方法。可以使用 MethodInfo 对象获取有关该对象所表示的方法的信息并调用该方法。

MethodInfo 直接从类型定义中反映,因此与该类型的任何特定实例都没有关系,事实上,要获取方法信息,您通常必须直接使用typeof()获取类型(因此甚至没有实例)或首先从obj.GetType()获取类型定义。 因此,在您尝试获取 MethodInformation 之前,类型定义已经与原始实例分离,因此,如果有实例要获取,则再次获取原始实例将更加困难。

检查是否可以使用 Delegates 进行解决方法,否则请查看获取 methodinfo 的过程,然后通过this保留对对象的引用,这样您就不必首先尝试查找它。

相关内容

  • 没有找到相关文章

最新更新