Assembly.Load()方法,Assembly.LoadFrom()方法,Assembly.LoadFile()方法的区别!

参考:

http://www.cnblogs.com/benwu/archive/2009/10/24/1589096.html

http://www.cnblogs.com/xuefeng1982/archive/2009/11/09/1598956.html

 

今天总算弄明白了Assembly.LoadFrom 与Assembly.Load 与 Assembly.LoadFile的一些区别,

以前只是用Assembly.Load来生成实例,现在遇到一个问题,就是从应用程序中来创建窗体,

网上找了下资料,才开明白是怎么回事

1:Assembly.LoadFile只载入相应的dll文件,比如Assembly.LoadFile("a.dll"),则载入a.dll,假如a.dll中引用了b.dll的话,b.dll并不会被载入。
Assembly.LoadFrom则不一样,它会载入dll文件及其引用的其他dll

2:Assembly.LoadFrom(程序集的文件路径,包括扩展名)

而Assembly.Load(程序集名称,而不是文件名)

Assembly.Load方法的使用

以往每次用 Assembly.Load方法是,总是要查一次API,而且还要试验一小会。干脆写出来以后直接用

Operation Oper = (OperationAdd)Assembly.Load("OperationAdd").CreateInstance("Calculator.OperationAdd");

其中 Load("OperationAdd")中的OperationAdd事dll文件名称,即存在一个OperationAdd.dll的文件。").CreateInstance("Calculator.OperationAdd")中的Calculator.OperationAdd程序集中的命名空间和类名。

View Code

 

时间: 2024-09-20 16:41:05

Assembly.Load()方法,Assembly.LoadFrom()方法,Assembly.LoadFile()方法的区别!的相关文章

工厂模式的Assembly.Load(path).CreateInstance(className)出错解决方法

 1.问题描述   代码展示   下面是Factory中的一段代码:  '********************************************** ' 文 件 名:DataAcess ' 命名空间:Factory ' 内 容: ' 功 能:创建用户需要的接口 ' 文件关系: ' 作 者:令仔很忙 ' 小 组: ' 生成日期:2014-07-28 17:37:52 ' 版 本 号:V2.0 ' 修改日志: ' 版权说明: '***************************

C# Assembly.Load("mscorlib.dll")后面可以加.dll,而其他一些却不能加

问题描述 vary=Assembly.Load("mscorlib").CreateInstance("System.Random");vary=Assembly.Load("mscorlib.dll").CreateInstance("System.Random");上面两句都对下面是我自己写的dllvarx=Assembly.Load("NewsRelease.Model").CreateInstanc

Bootstrap Table表格一直加载(load)不了数据的快速解决方法_javascript技巧

bootstrap-table是一个基于Bootstrap风格的强大的表格插件神器,官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/ 这里列出遇到的一个小问题:Bootstrap Table表格一直加载不了数据. $("#button").click(function(){ var name=$("input[name='name']").val(); $('#table').bootstrapTable('load

关于在同控制器中方法中调用没有权限的方法的提问

问题描述 关于在同控制器中方法中调用没有权限的方法的提问 Index 控制器中,我写了一个有权限的A方法,然后我又写了一个我没有权限B方法,当我在A方法中用 $this->B(); 时,居然在A方法中能够接收到 B中 return 出来的值 跪求解答 解决方案 YII 如何在控制器里调用 model 方法YII 如何在控制器里调用 model 方法

class-这不是2个方法吗,这样写是方法.方法 不都是对象.方法吗

问题描述 这不是2个方法吗,这样写是方法.方法 不都是对象.方法吗 public void init() throws ServletException { // 获取ServletContext对象 getServletContext().setAttribute("count", 0); } 这不是2个方法吗,这样写是方法.方法 不都是对象.方法吗 解决方案 getServletContext()返回一个对象,他后面带点,就和用哪个对象后面带点一样的道理 解决方案二: 万物皆对象,

jquery.Ajax()方法调用Asp.Net后台的方法解析

 本篇文章主要是对jquery.Ajax()方法调用Asp.Net后台的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧.   1.无参数的方法调用 asp.net code:    代码如下: using System.Web.Script.Services;      [WebMethod]    public static string SayHello()    {   

jQuery使用removeClass方法删除元素指定Class的方法

 这篇文章主要介绍了jQuery使用removeClass方法删除元素指定Class的方法,可实现针对指定元素样式的批量删除功能,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery使用removeClass方法删除元素指定Class的方法.分享给大家供大家参考.具体分析如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <!DOC

shiro不执行认证方法 不调用自定义的doGetAuthenticationInfo方法

问题描述 shiro不执行认证方法 不调用自定义的doGetAuthenticationInfo方法 在访问认证路径时 String exceptionClassName = (String) request.getAttribute(""shiroLoginFailure""); 在这直接路过 不去调用自定的realm 解决方案 http://www.oschina.net/question/273295_105031

jna-JNA调用C/C++的方法,怎么调用下面的方法?

问题描述 JNA调用C/C++的方法,怎么调用下面的方法? BOOL NET_DVR_PlayBackControl_V40( LONG lPlayHandle, DWORD dwControlCode, LPVOID lpInBuffer, DWORD dwInLen, LPVOID lpOutBuffer, DWORD *lpOutLen ); 上面是C++/C 中的方法,其中倒数第2和倒数第4个参数,API上介绍说是指针. 我在调用这个方法的时候第4个参数要求要的数据如下: NET_DVR