14、VB.NET中的反射、特性与对象序列化

VB.NET中的反射、特性与对象序列化

1. 反射与特性基础

1.1 反射与特性简介

反射是VB.NET检查类(和程序)内部工作机制的能力。通过反射,我们可以发现类中声明的数据类型、定义的方法以及类定义的其他特征。除了发现这些被称为元数据的信息外,还可以使用反射来调用方法,使类方法的行为类似于标准子程序。

特性则允许我们创建自己的元数据,可用于许多任务,包括创建“智能”注释和对象序列化。VB.NET中有许多预定义的特性,我们也可以创建自定义特性类。

1.2 特性的类型

特性分为两种类型:自定义特性和固有特性。
| 特性类型 | 描述 |
| ---- | ---- |
| 固有特性 | 是在创建VB.NET程序时由系统自动应用的特性,但程序员仍需将其添加到代码中,编译器才能识别,该特性本身由VB.NET预定义。 |
| 自定义特性 | 是由程序员添加到程序中的特性,可用于跟踪类定义的更改等。 |

1.3 特性的工作原理

当特性添加到程序中时,编译器会在生成的MSIL代码中插入一个特性对象。当公共语言运行时(CLR)遇到特性对象时,会执行该特性定义的服务。特性继承自 System.Attribute 类,这使得我们既能使用VB.NET代码中固有的固有特性,也能创建自定义特性。

2. 自定义特性的创建与使用

2.1 创建自定义特性的步骤

创建自定义特性一般需要以下步骤:
1. 声明类并继承 Attribute

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值