反射的概念与用法

反射是程序在运行时动态获取类信息并进行操作的能力。它允许在运行时查看类的方法、字段、属性和子类,提供动态加载和绑定。反射常用于需要灵活性和扩展性的系统,但过度使用可能导致逻辑模糊且影响性能。关键应用场景包括元数据检查、动态加载对象等。使用反射需权衡其带来的优势和潜在的维护难题、性能损耗。
摘要由CSDN通过智能技术生成

什么是反射?

反射是一种行为,发生在程序运行时,当你查看程序集数据或者元数据的时候

反射机制:是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,是一种动态获取的信息以及动态调用对象的方法的功能

反射有什么用?

可以通过反射获取类中的方法、字段、属性、子类

什么时候使用反射?

  简单的说反射是为了动态地运行时加载,而静态代码是在编译时就确定好了。也就是说当你的程序需要在运行时再做一些晚绑定,动态加载或检查对象等操作时,你就需要用到反射。

反射(Reflection)有下列用途:

  • 它允许在运行时查看属性(attribute)信息。
  • 它允许审查集合中的各种类型,以及实例化这些类型。
  • 它允许延迟绑定的方法和属性(property)。
  • 它允许在运行时创建新类型,然后使用这些类型执行一些任务    

反射的优点和缺点?

优点:提高程序的灵活性与可扩展性,降低代码的耦合性

缺点:

1. 过多使用,会造成逻辑模糊,因为反射已经绕过的源码,看不到逻辑实现,会造成后期维护上的困扰。

2.  性能的问题,主要应用在对灵活性和拓展性要求很高的系统框架上,普通程序不建议使用。

反射的使用

 

 

object类型数组中的元素,对应了方法中的参数(顺序不能调换)

 

 

如何 反射.dll文件中的对象

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值