.Net由浅入深说反射

本文深入探讨了.Net平台的反射机制,介绍了反射的概念、优缺点,以及如何通过Type类型和Dynamic关键字来实现反射。反射提供了在运行时动态访问和操作类的能力,但同时也可能带来性能损失和易出错的问题。在适当的应用场景下,如动态调用方法或处理不确定类型的参数,反射可以提升代码的灵活性。
摘要由CSDN通过智能技术生成

概述

什么是反射

反射是.Net平台的重要机制,通过反射允许开发者在编写代码时,通过使用Type类型或dynamic关键字使编译器跳过类型检查,而是在程序执行期阶段获得程序或程序集中某个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。这就是慢绑定或后绑定。

反射的优缺点

优点: 这样做的好处是使代码结构更加松散,降低耦合性,提高自适应能力。它允许程序创建和控制任何类的对象,无需提前硬编码。
缺点:
1、性能问题:反射相当于将部分编译器的工作交给解释器做,因此运行性能比直接代码要慢。
2、使用反射容易出错:因为忽略了类型检查工作,程序员需要对要调用的类非常了解,否则很容易在运行期出错。

反射实现

.Net平台提供两种反射的实现方式,Type类型和从.Net 4.0引入的Dynamic关键字。

Type类型

首先通过声明Type对象加载被调用类,然后通过Type对象获取被调用类的成员和方法。

声明Type对象的三种方法

1.typeof()操作符

Type d=typeof(double);
  1. Object类的自带方法GetType(). System.Object.GetType()
double d=10;
Type d=d.GetType
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值