标签: #依赖注入

C# 泛型接口显式实现:让工厂模式优雅地桥接类型差异

泛型接口IFoo<T>无法直接放进List<IFoo>,因为不同泛型参数是不同类型。本文从SwitchData项目出发,介绍如何用泛型接口显式实现(Explicit Interface Implementation)优雅地桥接泛型与非泛型世界,让工厂模式统一调度、子类享受强类型,同时集中类型转换、复用通用逻辑。

C# 表达式树深度解析:构建自定义 LINQ 条件解析器

本文深入剖析 C# 表达式树的解析机制,基于 SwitchData 项目的 ExpressionParser 实现,手把手教你构建一个将 LINQ 表达式转换为数据库查询条件的解析器。涵盖 ExpressionVisitor 访问者模式、排序解析、条件解析、逻辑分组、元数据映射、PredicateBuilder 动态组合等核心技术点。

.net8的生命周期

详解 .NET 依赖注入容器的三种生命周期:Singleton(全局单例)、Scoped(请求范围单例)、Transient(瞬态),对比注入行为、常见坑(Singleton 注入 Scoped 的陷阱)以及如何选择合适的生命周期。