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

     
  • 相关阅读:
    [arc067F]Yakiniku Restaurants[矩阵差分]
    [2016北京集训测试赛3]masodik-[凸包]
    [WC2010][BZOJ1758]重建计划-[二分+分数规划+点分治]
    [2016北京集训测试赛7]isn-[树状数组+dp+容斥]
    [BZOJ1565][NOI2009]植物大战僵尸-[网络流-最小割+最大点权闭合子图+拓扑排序]
    [2016北京集训试题7]thr-[树形dp+树链剖分+启发式合并]
    [2016北京集训测试赛1]奇怪的树-[树链剖分]
    [2016北京集训测试赛1]兔子的字符串-[后缀数组+二分]
    模拟 [Sdoi2010]猪国杀
    DP 小奇挖矿2
  • 原文地址:https://www.cnblogs.com/whtydn/p/1533865.html
Copyright © 2011-2022 走看看