Visual C++ 2005内部机理之元数据

1、基于元数据的动态编程:反射、特性

1)反射Reflection

动态地发现类型,操作类型,创建类型(查询元数据)

2)特性Attributes

允许程序定义新的元数据,从而在运行时动态地感知环境(创建元数据)

2、元数据Metadata

1)元数据是“数据的数据”,用于描述基于类型的数据;

2)元数据是CLI组件合同的描述载体,组件平台的“粘合剂”;

3CLI元数据分类:

定义型元数据—描述代码中定义了什么

引用型元数据—描述代码中引用了什么

特性元数据—扩展定义新的元数据

ref class MyClass

{

     public:

           int data;

}

int main()

{

     System::Console::WriteLineMyClass::typeid;     //利用反射来获取类型

}

定义型元数据:

包括ModuleDefTypeDefMethodDefFieldDefParamDefPropertyDefEventDef等。

引用型元数据:

包括AssemblyRefModuleRefTypeRefMemberRef等。

posted on 2008-09-04 03:31  开(^_^)心  阅读(259)  评论(0编辑  收藏  举报