register_generic¶
symphra_container.generics.register_generic(container, generic_type, implementation=None, factory=None, lifetime=None)
¶
注册泛型服务.
支持区分不同类型参数的泛型服务。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
container
|
Container
|
容器实例 |
必需 |
generic_type
|
Any
|
泛型类型,例如 Repository[User] |
必需 |
implementation
|
type | None
|
实现类(可选) |
None
|
factory
|
Any
|
工厂函数(可选) |
None
|
lifetime
|
Any
|
生命周期(可选) |
None
|
引发:
| 类型 | 描述 |
|---|---|
ValueError
|
如果不是有效的泛型类型 |
示例
register_generic(container, Repository[User], UserRepository) register_generic(container, Repository[Order], OrderRepository) register_generic( ... container, ... Repository[Product], ... factory=lambda: ProductRepository() ... )