日期:2014-05-20  浏览次数:21086 次

求个大神用通俗的话来讲下反射
如题~ 最近看书老碰上这个词 ,不甚理解。
------解决方案--------------------
(1)动态创建,比如插件系统,主程序不需要事先引用(插件可以独立开发),就可以创建插件的对象。
(2)运行期间类型识别,比如VS能够在你装入一个控件的时候提是你这个控件有什么方法、属性。
------解决方案--------------------
可以从这里开始:https://www.google.com.hk/search?q=activator.createinstance&aq=0&oq=activator.create&aqs=chrome.1.57j0l3.6854&sourceid=chrome&ie=UTF-8
------解决方案--------------------
其本质就是一个字典。
------解决方案--------------------
反射就是把程序中的类型信息记录起来,在运行时可以去读取这些类型信息,并可以根据这些类型信息动态生成指定类型的对象或动态调用对象的方法、属性,而不用在编程时就指定类型。
举个例子:
常规生成对象是:
ClassType obj;
用反射生成对象是:
var obj = GetClass("typename").CreateObject();// 这两个函数是我杜撰的