C# 的特性是配合反射用的,平时我往往只是把特性当成附加标签的功能,而一些项目似乎有更高级的用法。
比如 Fody 旗下的诸多项目。添加了特性后,产生了魔法效果,我并没有看到对应的反射代码,那特性是如何起作用的呢?
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Generic Generics in Managed C++
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
除了反射,还有一种方式 emit
Fody 不是什么反射哈,比反射还高级,是代码注入,相当于把IL改了。如果反射都能办到,我还用什么Fody。
Fody是好像通过扩展编译器实现的,在编译期反射并生成相关结果,可以认为是反射代码在Fody自身的编译器中。