zoukankan      html  css  js  c++  java
  • c#动态调用不同程序集和命名空间下的类

    首先创建一个RefectionHelper类

    public static class RefectionHelper
    {


    //利用反射创建类的实例
    public static dynamic CreateInstance(string assemblyName, string nameSpace, string className)
    {
    try
    {
    string fullName = nameSpace + "." + className;//命名空间.类型名
    dynamic ect = Assembly.Load(assemblyName).CreateInstance(fullName);//加载程序集,创建程序集里面的 命名空间.类型名 实例
    return ect;//类型转换并返回
    }
    catch (Exception ex) { Console.WriteLine(ex.Message + "===" + ex.StackTrace); return false; }
    }

    }

    我们这个时候就可以调用了

    var reportClass = RefectionHelper.CreateInstance("DigitalLabSysReport", "DigitalLabSysReport.SupervisionReport", "ScheduleReport");//这里就是程序集,命名空间,类型名

    //我有一个DigitalLabSysReport程序集下有一个SupervisionReport文件夹所以命名空间是DigitalLabSysReport.SupervisionReport

    //调用ScheduleReport类里的PushData方法

    reportClass.PushData(obj);

  • 相关阅读:
    Python--魔法方法
    Flask之request实现思想
    关于python一切皆对象的理解
    python快速生成依赖包
    redis的安装和使用
    linux-环境变量的配置
    python-虚拟环境的配置
    11-Linux-系统服务
    10-Linux-进程管理
    [SCOI2014]方伯伯的玉米田
  • 原文地址:https://www.cnblogs.com/fkxx/p/15508489.html
Copyright © 2011-2022 走看看