>使用C#REFLECTION访问私人方法
>>反射提供了一种动态与私人方法交互的强大方法。 但是,单独使用标准功能将无法访问私人成员。 通过使用GetMethod()
枚举来克服此限制。BindingFlags
>
解决方案:
要检索私有方法,请修改您的调用以包括必要的GetMethod()
。 此示例显示了:BindingFlags
>
MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType, BindingFlags.NonPublic | BindingFlags.Instance);
确保搜索中包含私有方法,并指定我们正在寻找实例方法(而不是静态方法)。 使用这些标志,BindingFlags.NonPublic
将成功找到私有方法。BindingFlags.Instance
>
GetMethod()
>随后,使用返回的
方法调用私有方法,提供必要的参数。Invoke()
以上是C#中如何使用反射动态调用私有方法?的详细内容。更多信息请关注PHP中文网其他相关文章!