摘要: 编译器在调用基类构造器前使用简化语法对所有字段进行初始化,以维持源代码给人留下的“这些字段总是有一个值”的印象。但假如基类构造器调用了虚方法并回调由派生类定义的方法,就可能出问题。在这种情况下,使用简化语法初始化的字段在调用虚方法之前就初始化好了。 “就可能出问题”指的是出啥问题? 阅读全文
posted @ 2021-12-30 15:54 Destiny130 阅读(26) 评论(0) 推荐(0)
摘要: CLR via C# 定义常量将导致创建元数据 由于常量值从不变化,所以常量总是被视为类型定义的一部分。换言之,常量总是被视为静态成员,而不是实例成员。定义常量将导致创建元数据。 代码引用常量符号时,编译器在定义常量的程序集的元数据中查找该符号,提取常量的值,将值签入生成的 IL 代码中。由于常量的 阅读全文
posted @ 2021-12-30 14:46 Destiny130 阅读(34) 评论(0) 推荐(0)