C#--反射技术

来源:互联网 发布:.儿童编程小游戏 编辑:程序博客网 时间:2024/05/16 07:58

什么是反射?

反射的概念:

反射是.Net中的一个重要技术,通过反射可以在运行时获得某个类型的各种信息,包括方法、属性、事件、及构造函数等,还可以获得每个成员的名称等信息。

反射的特点:

在程序运行时,动态创建对象、调用方法、设置属性和激发事件,而不是在编译的时候完成。

反射的应用:

在VS中的智能提示、使用MSIL反汇编工具查看IL代码都是用的反射技术。Java开发工具 Eclipse中的插件使用,也都是反射技术。

开发中的应用:

系统需要基于插件开发的时候,必须要用反射技术。在简单工厂和抽象工厂设计模式将使用反射技术。使用反射技术一般都要配合接口使用。反射技术使得系统性能一定程度降低,除非必要情况,反射不宜过多使用。

反射的简单应用

1.实用反射设计一个计算器,项目框架的搭建

这里写图片描述

2.接口类库的设计

这里写图片描述

3.接口实现类

这里写图片描述

4.使用反射创建对象。使用反射后项目可以不用添加对CalDLL的引用,降低模块之间的耦合,又一次体现了面向对象中”高内聚、低耦合”的开发原则,面向对象又一个层次认识,好的开发者,就是把面向对象这些特性、原则、方法、技巧等运用得非常好。

这里写图片描述

调试时的错误
这里写图片描述

代码只是加载,需要收到的将CalDll.dll文件复制到项目启动项目录

这里写图片描述

再次调试

这里写图片描述

项目代码git

项目代码Git

原创粉丝点击