关于Assembly.CreateInstance()与Activator.CreateInstance()方法 动态创建类对象,大多是Activator.CreateInstance()和Activator.CreateInstance<T>()方法,非常好用,一般都用了Assembly.Load("AssemblyName").CreateInstance ("ClassName");的方法,研究一下这两者到底有什么区别,在msdn里,查到了两个方法的介绍: Assembly.CreateInstance 方法 (String) 使用区分大小写的搜索,从此程序集中查找指定的类型,然后使用系统激活器创建它的实例。 Activator.CreateInstance 方法 (Type) 使用与指定参数匹配程度最高的构造函数来创建指定类型的实例。 看完以后,忽然觉得说了跟没说一样。不知道是我文字理解能力有问题,还是它表达有问题。 于是,没办法,只好用Reflector看看源代码了。 System.Reflection.Assembly位于mscorlib.dll里,CreateInstance()方法的源码是这样的
System.Activator也位于mscorlib.dll里,CreateInstance()方法的 public object CreateInstance(string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes)
public static object CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes)
DALFactory默认是每一层封装到一个程序集(独立项目)组件里。通过反射机制创建对象实例。 //从程序集创建对象实例 如果你的数据层不是单独的程序集,可以采用如下方法加载: |
相关文章
- 关于Assembly.CreateInstance()与Activator.CreateInstance()方法
- 详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
- 【转】第6篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+自动反射方法分析
- 【转】第5篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+委托回调方法分析
- 关于iOS中属性变量setter与getter方法的理解
- 关于Assembly.CreateInstance()与Activator.CreateInstance()方法
- 关于HttpHandler与HttpModule的理解和应用方法
- 浅谈关于提高网站权重的方法与建议
- 关于如何修改一张表中所有行与选定字段的同sql多行语句的添加方法
- 关于CSS+DIV 开发 与各浏览器的兼容性问题..解决方法.