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")来控制就可以了

     
  • 相关阅读:
    让你成功安装vscode中go的相关插件
    初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录
    java Concurrent包学习笔记(一):ExecutorService
    mysql主从复制(收藏)
    java Concurrent包学习笔记(三):ReentrantLock
    myBatis中if test 字符串注意事项
    mybatis标签
    安装docker跨主机网络flannel
    正则:数字字母下划线组合,长度6-10;至少包含一个大写字母、一个小写字母、一个数字
    shell [] [[]]的区别(转)
  • 原文地址:https://www.cnblogs.com/whtydn/p/1533865.html
Copyright © 2011-2022 走看看