当前位置: 首页 > news >正文

c# 反射

  根据程序集的信息,动态的创建类并执行方法

using System;
using System.IO;
using System.Reflection;
using System.Runtime.Serialization.Formatters.Binary;

namespace ConsoleApplication1
{
    internal class Program
    {

        public class Test
        {
            public void Show()
            {
                Console.WriteLine("zk");
            }
        }

     

        private static void Main(string[] args)
            {
                //获得当前执行模块
                Assembly assem = Assembly.GetExecutingAssembly();

                Console.WriteLine(assem.FullName);

                Type[] tps = assem.GetTypes();

                foreach (Type tp in tps)
                {
                    Console.WriteLine(tp.FullName);
                }

                Type t = assem.GetType("ConsoleApplication1.Program+Test");

                //Console.WriteLine(t.FullName);

                //创建实例
                object o = Activator.CreateInstance(t);

                //直接调用
                ((Test) o).Show();

                //通过反射方法调用
                MethodInfo mt = t.GetMethod("Show");
                mt.Invoke(o, new object[] { });
            }
    }
}

 

转载于:https://www.cnblogs.com/zkzk945/p/5134470.html

相关文章:

  • 使用AutoCompleteTextView和AsyncTask 检索城市
  • python之路(二)函数
  • Linux下设置定期执行脚本
  • Linux下安装配置MongoDB数据库
  • Zabbix服务器端安装过程(含centos 7.1安装 zabbix3.0.8的故障排除)
  • 数学之路-python计算实战(2)-初遇pypy
  • linux --vsftpd虚拟用户登录时 530 Login incorrect排错
  • 昨天要成为反弹一日游?关键看下午了
  • Microsoft Azure Linux 多网卡配置
  • 细数JDK里的设计模式转
  • 如何在 Tornado 中实现 Middleware
  • Cannot run program git.exe: CreateProcess error=
  • 自建博客随想录
  • JAVA简单介绍1
  • jquery iCheck插件 全选和获取value值的解决方法
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • 30秒的PHP代码片段(1)数组 - Array
  • Android Volley源码解析
  • C# 免费离线人脸识别 2.0 Demo
  • Javascript基础之Array数组API
  • node.js
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Python实现BT种子转化为磁力链接【实战】
  • React系列之 Redux 架构模式
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 技术发展面试
  • 聚簇索引和非聚簇索引
  • 批量截取pdf文件
  • 嵌入式文件系统
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 山寨一个 Promise
  • 通过几道题目学习二叉搜索树
  • 智能合约Solidity教程-事件和日志(一)
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​虚拟化系列介绍(十)
  • #Linux(Source Insight安装及工程建立)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • $.ajax中的eval及dataType
  • (4)logging(日志模块)
  • (7)STL算法之交换赋值
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (ZT)出版业改革:该死的死,该生的生
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)php新闻发布平台 毕业设计 141646
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (转载)深入super,看Python如何解决钻石继承难题
  • .Mobi域名介绍
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .net6使用Sejil可视化日志
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • .考试倒计时43天!来提分啦!
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现