createinstance.java_C# Activator.CreateInstance()方法使用
本文来自:http://blog.csdn.net/jaydawson/article/details/5539438
C#在类工厂中动态创建类的实例,所使用的方法为:
1. Activator.CreateInstance (Type)
2. Activator.CreateInstance (Type, Object[])
两种方法区别仅为:创建无参数的构造方法和创建有参数的构造函数。
//Activator.CreateInstance(Type)
object result = null;
Type typeofControl =null;
typeofControl = Type.GetType(vFullClassName);
result = Activator.CreateInstance(typeofControl);
//Activator.CreateInstance(Type,Object[])
object result = null;
Type typeofControl =null;
typeofControl = Type.GetType(vFullClassName);
result = Activator.CreateInstance(typeofControl, objParam);
但是在动态创建时,可能会动态使用到外部应用的DLL中类的实例,则此时需要进行反编译操作,使用Reflection命名控件下的Assembly类。
//先使用Assembly类载入DLL,再根据类的全路径获取类
object result = null;
Type typeofControl = null;
Assembly tempAssembly;
tempAssembly = Assembly.LoadFrom(vDllName);
typeofControl = tempAssembly.GetType(vFullClassName);
result = Activator.CreateInstance(typeofControl, objParam);
createinstance.java_C# Activator.CreateInstance()方法使用相关推荐
- 关于Assembly.CreateInstance()与Activator.CreateInstance()方法
关于Assembly.CreateInstance()与Activator.CreateInstance()方法 动态创建类对象,大多是Activator.CreateInstance()和Activ ...
- createinstance.java,Activator.CreateInstance:类的动态实例化
我正在设计一个松散耦合的结构.我想通过一个由String表示的代码来调用来自不同程序集/名称空间的类.我的设计是,每个客户端的业务规则都在不同的程序集上,并且彼此不依赖(一个客户端与一个DLL的比率) ...
- 使用Activator.CreateInstance完善简单工厂
前几天在项目中看到别人的工厂类使用Activator.CreateInstance() 之前用简单工厂都是用switch ...case ,之前没有用过便查了查资料,正是这个方法+ 反射简化了工厂模式 ...
- activator.createinstance 需要垃圾回收么_Epsilon:你为什么需要一个不回收内存的垃圾回收器?...
JDK 11中的JEP 318添加了一个名为Epsilon的垃圾回收器实现.Epsilon的特点是只负责分配内存,而不做任何垃圾回收操作.当堆内存空间就不够时,自动触发与OutOfMemoryErro ...
- thread.abort java_C# Thread.Abort方法与ThreadAbortException异常(取消线程与异常处理)...
1.Abort当前线程,后续程序不会执行 class Program { public static Thread thread1; static void Main(string[] args) { ...
- 梦想成现实:用xUnit.net在单元测试中实现构造函数依赖注入
英文关键词:Constructor Dependency Injection and Unit Testing(为了方便英文搜索) 自从博客园开发团队将开发架构迁移至DDD(领域驱动开发),就开始正式 ...
- 我们一起完成插件框架的设计与实现
我们一起完成插件框架的设计与实现 原文:我们一起完成插件框架的设计与实现 开场一些题外话,今天登陆这个"小菜"的博客园,感触颇多."小菜"是我以前在QQ群里面的 ...
- 转【C#调用DLL的几种方法,包括C#调用C\C++\C#DLL】
C#中dll调用方法 一. DLL与应用程序 动态链接库(也称为DLL,即为"Dynamic Link Library"的缩写)是Microsoft Windows最重要 ...
- Zaxis数据编程方法
每一个数据项包括3部分 组包类.解码器类和界面 一.界面 1.在"资源解决方案管理器"中右单击SetupUI目录.菜单"添加"->"用户控件&q ...
最新文章
- 14/10/校内测试{天天考,丧心病狂}
- 简单DP【p2642】双子序列最大和
- linux7 security,SECURITY-centos7下NFS使用与配置
- 异步加载js的三种方法
- 单元测试Java Hadoop作业
- 前端面试常见逻辑题收集及分析
- 驱动的定义、分类、安全性
- 搭建本地Ubuntu14.04源
- post和php input,PHP“php:/Input”vs$POST
- hdu4045(递推)
- Drive Scope for mac(硬盘检查分析工具)
- STM32控制AD7124采集调试流程
- segy地震数据的读取python_python segy格式地震数据读写包segyio学习笔记(二)
- 微信小程序(引入Iconfont 阿里巴巴矢量图标库 )
- ai怎么做盒子效果图_ai怎么制作包装盒? Ai贴图工具制作包装盒的实例教程
- pc端和移动端有什么区别?
- alpha测试什么意思,和Beta测试有何区别?
- 3060ti适配的cuda和cudnn
- 实例:泰坦尼克号幸存者的预测
- 联想网上审批系统方案