dI.Hook 是一个轻量级的 IoC 和 DI 引擎,通过代码或配置定义钩子,动态有条件地调用它们,并在不需要时处理它们。然而,这不是另一个依赖注入框架。它不仅仅是 DI - dI.Hook 创建了一个受控的钩子存储库,而不是在需要时一次搜索和实例化一个钩子。dI.Hook 允许在运行时延迟加载钩子对象,从而优化内存分配和性能。dI.Hook 还支持通过钩子类型和活动钩子实例添加钩子,允许在多个存储库之间共享钩子实例,或在单个存储库中添加多个相同类型的钩子。dI.Hook 支持创建钩子的层次结构,基于存储库或方法的钩子都可以存储在存储库中。轻量级存储库可以通过 Hook 属性进行装饰,支持使用 C# Funcs、委托等方式实现。