Fody 不是什么反射哈,比反射还高级,是代码注入,相当于把IL改了。如果反射都能办到,我还用什么Fody。
除了反射,还有一种方式 emit
Fody是好像通过扩展编译器实现的,在编译期反射并生成相关结果,可以认为是反射代码在Fody自身的编译器中。
Fody 通过 nuget 获得,我很好奇我 nuget 了后,是“谁”最先启动了相关代码?
@CodingNinja: 什么叫谁最先启动了相关代码,不太懂
以fody的 propertychanged库举例,早期版本安装之后会直接修改项目文件,这是修改编译流程,让他可以在编译的时候直接嵌入IL代码,编译完成之后如果你反编译的话就可以看到,反编译出来的代码跟你写的代码是不一样的,相当于他替你写了相关代码,而不是谁启动了相关代码