C# 通过反射调用对象上的方法

这篇具有很好参考价值的文章主要介绍了C# 通过反射调用对象上的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  		/// <summary>
        /// 通过反射调用方法
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="functionName"></param>
        /// <param name="parameters"></param>
        public static void CallFunction(this object obj, string functionName, object[] parameters = null)
        {
            var typeInfo = obj.GetType();
            var methodInfo = typeInfo.GetMethod(name: functionName,bindingAttr: BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
            if (methodInfo != null)
            {
                methodInfo.Invoke(obj, parameters);
            }
            else
            {
                Debug.Log($"调用方法不存在:{functionName}");
            }
        }

文章来源地址https://www.toymoban.com/news/detail-545958.html

到了这里,关于C# 通过反射调用对象上的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++通过JNI调用JAVA方法返回ArrayList对象

    运行效果:   JAVA实现: 获取系统已安装应用列表并返回ListString对象 C++ JNI实现:

    2024年02月11日
    浏览(32)
  • C# 运用(codeDom和反射技术)动态编译dll ,动态调用

          在软件运用工程中,往往会根据各种各样,花样百出的需求来设计软件,在最近的项目中无意中,我就遇到了一个需求,据说是,客户要动态编译dll ,我“滴个乖乖”,这是要逆天啊! 话不多说,直接来点干货。 简单分享一下个小demo: 1.运用codeDom技术实现动态程序集

    2024年02月13日
    浏览(26)
  • 【创建型设计模式】C#设计模式之工厂模式,以及通过反射实现动态工厂。

    题目如下: 简单工厂实现: 上述代码给出了抽象基类的基本定义,和泛型工厂的实现方式,以及调用方式。 值得注意的是 where T : Car, new() 这个条件: where T : Car, new() 是对泛型类型参数 T 的约束。这个约束表明泛型类型参数 T 必须满足两个条件: T 必须是 Car 类或者其派生类

    2024年02月11日
    浏览(26)
  • 利用lambda优化反射功能实现方法调用

    最近在思考lambda相关的问题,简单记录下做的相关反射替代和函数映射的尝试。 原理分析 lambda是jdk8才提供的,原理其实就是动态生成内部类来执行函数映射的方法。也就是说一段lambda表达式会对应特定的类方法,之后调用。底层是通过LambdaMetaFactory实现的函数映射,利用了

    2024年02月09日
    浏览(54)
  • mockito+junit 单元测试 测试私有方法利用反射去调用提升覆盖率 反射调用时传入参数为 null

    今天公司安排我写单元测试 因为要通过三级认证 公司要求是覆盖率必须达到100% 而在写单元测试的时候 对于是否要测试私有方法一直是一个争议 公司规范 对私有方法也进行测试 代码如下: JudgeUtils 是公司封装的一个工具类 让我们看看 isNull 方法的内部 代码如下: 我现在需

    2024年02月11日
    浏览(34)
  • 【Golang | reflect】利用反射实现方法的调用

    go语言中,如果某个数据类型实现了一系列的方法,如何批量去执行呢,这时候就可以利用反射里的 func (v Value) Call(in []Value) []Value 方法。 Call 方法实际使用时主要有以下两种调用方式: 注: 1、这里说明下,为什么使用 Func 调用 Call 时第一个入参是对应receiver本身 method.Func

    2024年02月07日
    浏览(44)
  • gin通过反射来执行动态的方法

    在gin中,可以通过反射来执行对应的方法。下面是一个示例: 在这个示例中,我们定义了一个 UserController 结构体,并在结构体中定义了 GetUser 方法和 queryUser 方法。 GetUser 方法用于处理请求并返回用户数据, queryUser 方法用于查询用户信息。 在主函数中,我们创建了 UserCon

    2024年02月14日
    浏览(32)
  • Java中的反射(通过反射获取类的结构、invoke方法、获取注解)

    创建运行时类的对象是反射机制应用最多的地方。创建运行时类的对象有两种方式: 方式1:直接调用Class对象的newInstance()方法 要求: 1)类必须有一个无参数的构造器。 2)类的构造器的访问权限需要足够。 方式一的步骤 : 1)获取该类型的Class对象 2)调用Class对象的 new

    2024年02月04日
    浏览(35)
  • 使用反射调用类的私有内部类的私有方法

    在进行单元测试时,我们往往需要直接访问某个类的内部类或者某个类的私有方法,此时正常的调用就无能为力了,因此我们可以使用反射进行调用。 类 实现方法 获取类的Class对象 Class class = Class.forName(\\\"类名\\\") 或 Class class = 类实例.getClass() new一个实例 Object object = class.newIn

    2024年02月07日
    浏览(30)
  • 加载AB包程序集,反射获取并实例化类调用方法

     加载AB包文件,加载bytes程序集资源,通过反射获取类,实例化添加组件,调用方法

    2024年02月13日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包