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程序集中的命名空间和类名。
Assembly.Load()方法,Assembly.LoadFrom()方法,Assembly.LoadFile()方法的区别!的更多相关文章
- (转)C# Assembly.Load 使用
在C#中,我们要使用反射,首先要搞清楚以下命名空间中几个类的关系: System.Reflection命名空间(1) AppDomain:应用程序域,可以将其理解为一组程序集的逻辑容器(2) As ...
- [转]C#反射-Assembly.Load、LoadFrom与LoadFile进阶
关于.NET中的反射,常用的有三个方法: Assembly.Load()Assembly.LoadFrom()Assembly.LoadFile() 下面说说这三个方法的区别和一些细节问题 1. As ...
- C#反射-Assembly.Load、LoadFrom与LoadFile
反射Demo: public class Person { public int Age; public void SayHello() { Console.WriteLine("Hello ...
- C#中的反射 Assembly.Load() Assembly.LoadFrom()
一些关于C#反射的知识,估计也就最多达到使用API的程度,至于要深入了解,以现在的水平估计很难做到,所以下面此篇文章,以作为一个阶段的总结. 对于反射的总结,我想从以下几个方面展开,首先是反射程序集, ...
- 关于反射Assembly.Load("程序集").CreateInstance("命名空间.类")
关于反射Assembly.Load("程序集").CreateInstance("命名空间.类") 而不管在哪一层写这段代码其中的("程序集" ...
- Assembly.Load动态加载程序集而不占用文件 z
方式一:占用文件的加载 Assembly assembly = Assembly.Load(path); 用上面的方法可以动态的加载到dll,但是用这种方法加载到的dll一直到程序运行结束都是占用的d ...
- Assembly.Load 详解(c#)
我们在使用C# 语言的Assembly.Load 来加载托管程序集并使用反射功能时,一般需要先通过Assembly.Load(), Assembly.LoadFrom() 等方法将目标托管程序集加载到 ...
- Assembly.Load(path).CreateInstance 反射出错解决办法
最近采用工厂模式反射DAL层出现一些问题,所以自己想写一下自己认为标准解决的思路和解决方法以备后用. 1.这是项目结构 2.这是DALFactory 反射代码 #region 创建对象(不使用缓存) ...
- 工厂模式Assembly.Load(path).CreateInstance 反射出错解决办法
项目结构: DALFactory 反射代码反射 //使用缓存 private static object CreateObject(string AssemblyPath,string classNa ...
随机推荐
- 《跟老齐学Python Django实战》读后感
1.说一下这本书,讲解的很细致,内容选取足够入门Django. 2.在学习这本书要注意的几点: <1>如果你想跟着敲这本书的代码必须要安装:Django版本1.10.1(当然也可以玩玩新版 ...
- python使用virtualenv
virtualenv是python的虚拟环境,可以同时存在多个不同的虚拟环境. #1.安装virtualenv pip install virtualenv #2.创建目录 mkdir myproje ...
- 使用extjs做的一个简单grid
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- tcgetattr函数与tcsetattr函数控制终端
6.4.4 使用tcgetattr函数与tcsetattr函数控制终端 为了便于通过程序来获得和修改终端参数,Linux还提供了tcgetattr函数和tcsetattr函数.tcgetattr用于 ...
- 日志生成控制文件syslog.conf
1: syslog.conf的介绍 对于不同类型的Unix,标准UnixLog系统的设置,实际上除了一些关键词的不同,系统的syslog.conf格式是相同的.syslog采用可配置的.统一的系统登记 ...
- python合并图片
因项目需求需要将图片合并故写了一个python脚本,在这里放个笔记 #!/usr/bin/env python #coding=utf-8 import Image import os import ...
- Visual Studio 中如何同时注释多行和取消注释多行
注释多行:先按 Ctrl - K 组合键,再按 Ctrl - C 组合键 取消注释多行:先按 Ctrl - K 组合键,再按 Ctrl - U 组合键
- Java List转换为字符串的几种方法
Java List转换为字符串的几种方法 import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import ...
- 很好的开源UI框架Chico UI
介绍一个很好的开源的UI框架,依赖于jquery 官网:http://www.chico-ui.com.ar/ 以下是相关截图: 消息提示 自动完成 分页,列表 Chico UI是什么? Chico ...
- SpringMVC框架 注解 (转)
原文地址:http://www.cnblogs.com/yjq520/p/6734422.html 1.@Controller @Controller 用于标记在一个类上,使用它标记的类就是一个Spr ...