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

使用方法

  1. 通过NuGet安装Fody和所需插件
  2. 在Weaving.xml中配置规则
  3. 编译时自动织入代码
  4. 使用注入的功能

适用场景

  • MVVM属性通知
  • 日志和性能计时
  • 空值防护和验证
  • 减少样板代码

项目地址

📦 GitHub 仓库:https://github.com/Fody/Fody

授权方式:免费 + 开源 (MIT)