zoukankan      html  css  js  c++  java
  • 利用Assembly动态加载程序集

    在程序开发中,经常需要调用到外部的DLL,所以需要反射技术,动态的加载程序集,方便调用.
    例如我们创建一个这样的类:

    Code

    在一般情况下,我们只需要在代码中这样调用就可以:

    Code

    如果需要在程序运行时动态加载,就需要用到Assembly类来实现,注意:(把上面的第一段代码,生成一个叫User.Dll)
    一、Assembly.Load
    这个方法接受一个AssemblyName实例作为一个参数,返回对应的程序集,实现的方法如下:
    Code

    这里输出的结果为:
    get_Name
    set_Name
    ShowMe
    Main
    ToString
    Equals
    GetHashCode
    GetType
    I'm Alex

    二、Assembly.LoadForm方法
    该方法根据程序集的文件名与路径来加载程序集。

    三、Assembly.LoadWithPartialName方法
    该方法使用部分名称从应用程序目录或从全局程序集缓存加载程序集。

    当然还要他们还可以实现部分引用,也就是可以通过程序集的名称,版本,公钥等等,只要在后面加上
    Assembly a = Assembly.Load("User,version=1.0.0.0")来控制就可以了

     
  • 相关阅读:
    20172327 2017-2018-2 《程序设计与数据结构》第十一周学习总结
    20172327 2017-2018-2 《程序设计与数据结构》实验3报告
    20172327 2017-2018-2 《程序设计与数据结构》第十周学习总结
    20172327 2017-2018-2 《程序设计与数据结构》第九周学习总结
    20172327 结对编程项目-四则运算 第二周 阶段总结
    20172327 2017-2018-2 《程序设计与数据结构》第八周学习总结
    20172327 结对编程项目-四则运算 第一周 阶段总结
    20172327 2017-2018-2 《程序设计与数据结构》实验2报告
    20172327 2017-2018-2 《程序设计与数据结构》第七周学习总结
    MySQL数据库(四)—— 记录相关操作之插入、更新、删除、查询(单表、多表)
  • 原文地址:https://www.cnblogs.com/whtydn/p/1533865.html
Copyright © 2011-2022 走看看