C#--反射技术

本文介绍了C#中的反射技术,包括其概念、特点和应用。反射允许在运行时动态创建对象、调用方法和设置属性。在VS智能提示、MSIL反汇编和Eclipse插件中都有其身影。在插件开发、简单工厂和抽象工厂模式中,反射起着关键作用。然而,由于可能降低系统性能,反射的使用应谨慎。文中还展示了如何使用反射设计计算器,并提供了一个简化项目框架,强调了反射在降低模块耦合方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是反射?

反射的概念:

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

反射的特点:

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

反射的应用:

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

开发中的应用:

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

反射的简单应用

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

这里写图片描述

2.接口类库的设计

这里写图片描述

3.接口实现类

这里写图片描述

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

这里写图片描述

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

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

这里写图片描述

再次调试

这里写图片描述

项目代码git

项目代码Git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值