社区
C#
帖子详情
反射和添加引用的区别
wang123haiquan
2010-09-15 04:32:10
反射和右键添加引用都可以实现对程序集里的方法的调用,那有什么区别吗?
...全文
649
17
打赏
收藏
反射和添加引用的区别
反射和右键添加引用都可以实现对程序集里的方法的调用,那有什么区别吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
哒哒
2010-09-15
打赏
举报
回复
学习,不错!
卧_槽
2010-09-15
打赏
举报
回复
等你写了很多很多代码,做了一些比较复杂的项目之后,就会觉得反射还是有点用处的。
garfieldzf
2010-09-15
打赏
举报
回复
[Quote=引用 6 楼 lostuser 的回复:]
看看设计模式,比如工厂模式,
研究研究开元框架慢慢就明白了!
[/Quote]
可以推荐几个开源框架
鱼C缸
2010-09-15
打赏
举报
回复
前期与后期
设计时与运行时
SuperGM
2010-09-15
打赏
举报
回复
反射是一个运行库类型发现的过程。通过反射可以得到一个给定程序集所包含的所有类型的列表,
这个列表包括给定类型中定义的方法、字段、属性和事件。也可以动态的发现一组给定类支持的借口、方法的参数和其他相关信息如基类、命名空间、数据清单等。
右键引用DLL是在程序运行前已经指定了
SuperGM
2010-09-15
打赏
举报
回复
viena
2010-09-15
打赏
举报
回复
一个是未知的,一个是已知的
养猪的程序员
2010-09-15
打赏
举报
回复
[Quote=引用 3 楼 wang123haiquan 的回复:]
代码里调用哪个方法,应该是已经知道了吧,为什么要运行时调用DLL?请高手解释
[/Quote]
想想開閉原則,有些情況用那一個DLL是要在運行時才知道的.
例如:你開發了一個系統,是支持SQL與mySQL的,而連接這兩個不同數據庫是用不同的DLL的,你可以通過配置來改變他的連接.
ZengHD
2010-09-15
打赏
举报
回复
[Quote=引用 3 楼 wang123haiquan 的回复:]
代码里调用哪个方法,应该是已经知道了吧,为什么要运行时调用DLL?请高手解释
[/Quote]
如果要把程序做成插件式、插拔式,就可以使用反射实现
例如说,现在你的程序通过反射调用一个DLL的函数,那天这个DLL不用了,或者来了一个新的DLL,只要接口不变(就算接口变了,也可以通过配置文件获得),都可以直接使用新的DLL,那不需要修改你原来的程序
PSSonyXbox
2010-09-15
打赏
举报
回复
[Quote=引用 1 楼 zenghd 的回复:]
前期与后期
设计时与运行时
[/Quote]
InvokerKar
2010-09-15
打赏
举报
回复
我曾经做过一个项目,在项目开发完毕以后,客户要求添加一个天气预报的功能,因为采用的是反射的方式,我把天气预报的调用重新写了一个项目,生成的dll添加进原来的运行目录中,再在配置文件中把新添加的dll信息填进去。新添加的功能就可以使用了,不必更改原来的代码。这是一个好处吧。
[Quote=引用 3 楼 wang123haiquan 的回复:]
代码里调用哪个方法,应该是已经知道了吧,为什么要运行时调用DLL?请高手解释
[/Quote]
lostuser
2010-09-15
打赏
举报
回复
看看设计模式,比如工厂模式,
研究研究开元框架慢慢就明白了!
鸭梨山大帝
2010-09-15
打赏
举报
回复
如果是引用的方式,前期就知道.
如果是反射的方式,后期才知道.
为什么运行是要调用DLL? 别人开发的第三方的程式,你没有源代码,而别人也是在DLL中提供了接口供你调用,你当然只能调用DLL,这样别人可以将内部代码隐藏,保护,将内部实现隐藏(代码).
你自己写的DLL也一样,即使有源代码,你也不可能把所有的功能都弄到一个项目下,既不利于扩展,也不利于维护.
[Quote=引用 3 楼 wang123haiquan 的回复:]
代码里调用哪个方法,应该是已经知道了吧,为什么要运行时调用DLL?请高手解释
[/Quote]
porschev
2010-09-15
打赏
举报
回复
[Quote=引用 1 楼 zenghd 的回复:]
前期与后期
设计时与运行时
[/Quote]
wang123haiquan
2010-09-15
打赏
举报
回复
代码里调用哪个方法,应该是已经知道了吧,为什么要运行时调用DLL?请高手解释
lostuser
2010-09-15
打赏
举报
回复
反射是后期绑定。
ZengHD
2010-09-15
打赏
举报
回复
前期与后期
设计时与运行时
怎样
反射
程序集?
本文详细解析了.NET框架中程序集的概念及作用,包括exe与dll的
区别
、程序集的好处、如何
添加
引用
以及如何利用
反射
获取程序集中的元数据。通过代码示例,展示了如何使用Type类获取类中的方法、属性等信息,以及如何通过
反射
获取外部dll文件中的类和方法。
Flex之旅--Flex小问题汇总(无限更新)
本文汇总了Flex学习过程中的小问题、小知识、小技巧和注意事项,包括元素
添加
、图片资源
引用
、事件
区别
、鼠标位置获取、组件
引用
、Flex
反射
、日期验证、列定义、顶层应用获取、数据网格定制、正则表达式使用、对象序列化、Label特性、Grid布局、表头样式设置、动态类应用、时间事件处理、Validator样式修改、网站路径获取、屏幕大小获取等常见问题的解决方案。
C#
反射
的理解
本文深入探讨了C#中的
反射
机制,包括Assembly、Type类的使用,以及如何通过
反射
动态创建对象、调用方法和属性。文章还展示了如何通过
反射
调用私有方法,并提供了实际代码示例。
C#在VisualStudio中
添加
项目、
添加
引用
本文详细介绍了在C#项目中如何通过解决方案资源管理器
添加
现有项目,以及如何在项目间
添加
引用
,包括对项目、框架或COM类库的
引用
。此外,还对比了动态加载DLL与
添加
引用
DLL的
区别
,帮助开发者更好地理解和使用C#的项目管理和依赖注入机制。
Java注解和
反射
本文围绕Java注解和
反射
展开。介绍了注解的作用、内置注解、元注解等;阐述
反射
机制,包括优缺点、常用方法、操作泛型和注解等。还进行了Java内存分析,涵盖类的加载、链接、初始化过程,以及类初始化的主动和被动
引用
情况。
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章