P179,关于属性。
编译器通过在开发人员指定的属性名称前加上get_或者set_前缀,自动为这些方法生成名称。
除了生成访问器方法,编译器同样在托管的程序集元数据中为源代码中定义的每个属性生成属性定义条目。该条目包含一些标记以及属性的类型,并且引用get和set访问器方法。该元数据信息只是为了在抽象概念“属性”及其访问器方法之间建立一个关联关系。编译器及其他工具可以使用这个元数据信息。CLR不使用这个元数据,在运行时,仅仅需要访问器方法而已。
p192,关于事件
编译器遇到事件时,会生成三个构造。除了生成三个构造外,还会在托管程序集的元数据中生成一个事件定义的条目。该条目包含了一些标记和定义委托类型的基础类型,并且引用add_和remove_访问器方法。这些信息事实为了在抽象概念“事件”和它的访问器方法之间建立一个关联关系,编译器和其他工具可以使用这些元数据信息。但是CLR本身并不适用这个元数据信息,在运行时,仅仅需要访问器方法而已。