Fody - .NET程序集织入工具,编译时注入代码,AOP神器
Fody
Fody 是一款可扩展的 .NET 程序集织入工具,在编译时向程序集中注入代码。它通过编译后处理(post-processing)IL,实现 AOP(面向切面编程),如 INotifyPropertyChanged、日志、空检查、性能计时等。Fody 有丰富的插件生态(PropertyChanged、MethodDecorator、NullGuard 等),让 .NET 代码更简洁、更强大。
项目简介
Fody 是一款可扩展的 .NET 程序集织入工具,在编译时向程序集中注入代码。它通过编译后处理(post-processing)IL,实现 AOP(面向切面编程),如 INotifyPropertyChanged、日志、空检查、性能计时等。Fody 有丰富的插件生态(PropertyChanged、MethodDecorator、NullGuard 等),让 .NET 代码更简洁、更强大。
核心功能
编译时织入
- 编译后修改IL
- AOP切面编程
- 无需运行时反射
- 性能无损耗
丰富插件
- PropertyChanged属性变更通知
- MethodDecorator方法装饰
- NullGuard空引用检查
- 各种开源插件
易集成
- NuGet安装即可
- MSBuild集成
- 可视化配置
- 支持.NET Core
使用方法
- 通过NuGet安装Fody和所需插件
- 在Weaving.xml中配置规则
- 编译时自动织入代码
- 使用注入的功能
适用场景
- MVVM属性通知
- 日志和性能计时
- 空值防护和验证
- 减少样板代码
项目地址
📦 GitHub 仓库:https://github.com/Fody/Fody
授权方式:免费 + 开源 (MIT)