C#中如何理解【反射】技术

LEOlws 2006-08-26 06:35:43
看了好几本书,但总是看到反射这里犯了迷糊没信心看下去!
不知道各位用一些比较通俗易懂的语言来讲讲反射的原理,反射的应用等等一切和反射有关的技术。
如果分不够,可以在补!谢谢!
...全文
2275 56 打赏 收藏 转发到动态 举报
写回复
用AI写文章
56 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjtandqt 2006-10-20
  • 打赏
  • 举报
回复
学习
BSC 2006-10-20
  • 打赏
  • 举报
回复
mark
icefire703 2006-10-17
  • 打赏
  • 举报
回复
运行中的状态吧
linhaiqiang 2006-10-16
  • 打赏
  • 举报
回复
船到桥头自然直
tiaa666 2006-10-15
  • 打赏
  • 举报
回复
Mark,学习中~~~
股神 2006-10-11
  • 打赏
  • 举报
回复
反射原理
iflang 2006-09-25
  • 打赏
  • 举报
回复
Mark
gngnandgngn 2006-09-25
  • 打赏
  • 举报
回复
晕, 看了好几本书都没看懂啊。。。有这么难吗?
aafshzj 2006-09-22
  • 打赏
  • 举报
回复
对于你的问题,我的答案是跳出你的问题本身的。

关键在于你要用reflection来干什么?如果目前没什么用,我建议你大概知道Reflection提供了一种动态的可编程的办法让你能够了解任何程序集、对象类型的结构、方法、属性等就够了。

你用不到的东西学了也是白学,了解一点是可以的,但不必花太多时间。只要你遇到相关问题了知道该用这个就够了,到那时候你才会明白为什么要这样为什么要那样了。任何软件都是设计来解决某些人的具体问题的。你没问题就永远不会理解为什么要那样解决。

记住我的话:你用不到的东西学了也是白学,因为你不但学得不知其然,忘得也将会不知其所以然。


一点浅薄意见,希望对你有所帮助。




欢迎大家来我的博客作客:http://blog.csdn.net/aafshzj/
我正在写一系列关于AAF组件框架的文章。该框架能对开发工作提供很多帮助,并极大地提高开发效率。希望大家看一看并提出宝贵建议。
xiao_p 2006-09-22
  • 打赏
  • 举报
回复
而元数据就是上面的王二,大概就是这么个意思

呵呵
xiao_p 2006-09-22
  • 打赏
  • 举报
回复
举个简单的例子

你有个名字 叫做王二

当我知道你在哪里的时候,我调用你,这个就是直接调用

但是,有一天,我不知道你或者说我找不到你了,

于是我就只好变通的找到你,比如你用的名字王二找你

这个过程就是反射了
xiao_p 2006-09-22
  • 打赏
  • 举报
回复
哥们,其实
说白了反射贼简单

我们无论写什么程序,。net都是用元数据加以说明
这些元数据就和注释是的帮助。net识别这些代码

而我们就可以通过元数据调用加载
这就是反射
Csharp110 2006-09-21
  • 打赏
  • 举报
回复
up
Miracle 2006-09-13
  • 打赏
  • 举报
回复
ok,我们写代码,是面向功能的,比方说, Math.Add(x, y)返回x y之和。但是有时候我们希望给代码附加一些特殊属性,而这些属性可能跟功能关系不大。比方说,我们希望Math.Add()能够作为Web服务的方法被调用。为了解决这个问题,.NET就提出Attribute(属性)概念,你可以写
[WebMethod]
public int Add(int x, int y)
{
//...
}
这样编译器在编译Add方法的时候,同时也会把[WebMethod]这个附加的属性也生成并注入到编译结果(程序集)的特定区域,我们称它为元数据区域。这样ASP.NET就可以在运行时扫描属性数据,识别各种Web方法并产生正确的WSDL文档。属性就是一种元数据(所谓元数据,就是描述数据的数据)。其他的元数据包括类型列表,继承关系,接口列表,等等……

光生成和存储是不够的,我们还要能读取识别元数据,反射就可以干这个,在运行时反射系统可以允许你读取所有的元数据并加以利用(比如,找到一个类的集成树)……

这么说,够明白了吧。元数据是描述程序集内部数据的词典,反射是帮你查词典的工具。
Miracle 2006-09-12
  • 打赏
  • 举报
回复
nacarat() ( ) 信誉:100 Blog 2006-9-1 10:02:30 得分: 0

我就说一句,lz学过C++吗,
由于反射表示的是程序的本体,所以反射就是.net平台的RTTI。

============

nacarat说的好,反射就相当于以前C++/Delphi的RTTI系统的更加成熟的版本。



zeng_c_h 2006-09-12
  • 打赏
  • 举报
回复
樓上几個大哥說的好呀,學習,謝拉
wshuangminlg 2006-09-11
  • 打赏
  • 举报
回复
<NET框架程序设计> 看看
大个啊 2006-09-08
  • 打赏
  • 举报
回复
父类不知道子类的存在,
获取子类的信息就用反射

撇开元数据这样来理解不知道对不对
zhuixue 2006-09-08
  • 打赏
  • 举报
回复
学习
fancystyle 2006-09-07
  • 打赏
  • 举报
回复
mark
我也刚看,我的理解是,面对一个黑盒一样的类库,用反射的作用就是反推达到其方法,知道这个类的作用等,对吗?
加载更多回复(33)

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧