专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > .NET Framework

请教反射的概念该如何理解呢

发布时间:2011-06-23 14:34:37 文章来源:www.iduyao.cn 采编人员:星星草
求助:请问反射的概念该怎么理解呢?
在面试的时候总是遇到这个问题,但我没用过反射所以不理解,有谁能通俗的说明一下吗?

反射这个词经常看到,但一直不明白怎么一回事,怎么用,哪里会用到。。。

好像跟序列化会结合用吧?有次面试遇到的问题就是:反射和序列化的概念?


PS:如果是你们自己遇到了会怎样解答呢?

------解决方案--------------------
反射就是,一个给你一个类型,你可以不按照传统的方式 new something(),进行实例一个对象,也可以进行属性赋值,调用方法什么的,你可以通过反射,实现绝大部分相关的功能,重点在于,不用编译的时候关注具体的类型,后期给个合适的dll进去,也可以进行相关的操作
序列化,我理解的是,一个对象或者类型用于传输的“方式”或者说是“编码”,保存读取,都需要用到它
------解决方案--------------------
反射就像一个偷窥镜:可以把类内部的元素一个一个透视处理,从而了解类或对象内部的结构,从而利用其元素;
序列化就想一个万能包装和解包器:能把一个复杂的结构拆解,然后进行包装,方便存储和传输,之后也可以方便的把内容进行解包从而还原其原来的样子。
------解决方案--------------------
增加了灵活性,一般情况下 我们实例化一个类,反射提供了另外一个方法。
当然 会消耗性能,
------解决方案--------------------
放射就是照镜子,让代码自己能认识自己。
------解决方案--------------------
.net中生成的exe或dll称为程序集,通过反射可以获取其中的元数据,当然最主要的是类型信息,可以通过反射获取所有的程序集中的元素信息,动态创建类实例,调用方法等等都可以。
序列化就是将一个对象的内存表现形式保存下来,之后可以通过反序列化还原出这个对象。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: