代码改变世界

元数据,反射,特定属性

2017-06-04 16:50  Dirichlet  阅读(248)  评论(0编辑  收藏  举报

元数据就是一大推表,类型定义表,字段定义表,方法定义表,属性定义表,特制属性表(Custom Attribute).

元数据是.Net Framework 的一个重要基石,反射、特制属性,就是基于元数据的, 当然特制属性是反射的一个应用。

反射其他应用?

反射主要用于FCL的类库中来提供用户更多的功能,一般用户开发的应用程序很少有机会用到反射。

1) 使用Visual Studio 的窗口设计器Desginer 去拖拽一个控件时,它有哪些属性,事件,属性(property)成员,哪些需要显示在designer中(依赖Custom Attribute),都要用到反射去分析元数据来获取这些信息。

2) VS的智能感知特性,鼠标放到类型上会有解释。F12查看一个类型会跳到一个由元数据生成的生命文件中。

3) 序列化/反序列化也用到反射,要序列化一个对象,需要知道这个对象的类型所有字段名字,引用对象等等,还是要借助反射去分析元数据。

4) 特制属性是反射的一个应用。