跳转至

依赖信息(DependencyInfo)

symphra_container.injector.DependencyInfo

依赖信息.

存储单个依赖的相关信息.

属性:

名称 类型 描述
parameter_name

参数名称

service_key

服务键(类型或字符串)

service_type

服务类型

is_optional

是否可选

default_value

默认值

is_injected

是否使用 Injected 标记

Source code in src/symphra_container/injector.py
class DependencyInfo:
    """依赖信息.

    存储单个依赖的相关信息.

    Attributes:
        parameter_name: 参数名称
        service_key: 服务键(类型或字符串)
        service_type: 服务类型
        is_optional: 是否可选
        default_value: 默认值
        is_injected: 是否使用 Injected 标记
    """

    def __init__(
        self,
        parameter_name: str,
        service_key: ServiceKey,
        service_type: type,
        is_optional: bool = False,
        default_value: Any = inspect.Parameter.empty,
        is_injected: bool = False,
    ) -> None:
        """初始化依赖信息.

        Args:
            parameter_name: 参数名称
            service_key: 服务键
            service_type: 服务类型
            is_optional: 是否可选
            default_value: 默认值
            is_injected: 是否使用 Injected 标记
        """
        self.parameter_name = parameter_name
        self.service_key = service_key
        self.service_type = service_type
        self.is_optional = is_optional
        self.default_value = default_value
        self.is_injected = is_injected

    def __repr__(self) -> str:
        """返回字符串表示."""
        optional_str = " (optional)" if self.is_optional else ""
        injected_str = " (injected)" if self.is_injected else ""
        return f"DependencyInfo({self.parameter_name}: {self.service_key}{optional_str}{injected_str})"

__init__(parameter_name, service_key, service_type, is_optional=False, default_value=inspect.Parameter.empty, is_injected=False)

初始化依赖信息.

参数:

名称 类型 描述 默认
parameter_name str

参数名称

必需
service_key ServiceKey

服务键

必需
service_type type

服务类型

必需
is_optional bool

是否可选

False
default_value Any

默认值

empty
is_injected bool

是否使用 Injected 标记

False
源代码位于: src/symphra_container/injector.py
def __init__(
    self,
    parameter_name: str,
    service_key: ServiceKey,
    service_type: type,
    is_optional: bool = False,
    default_value: Any = inspect.Parameter.empty,
    is_injected: bool = False,
) -> None:
    """初始化依赖信息.

    Args:
        parameter_name: 参数名称
        service_key: 服务键
        service_type: 服务类型
        is_optional: 是否可选
        default_value: 默认值
        is_injected: 是否使用 Injected 标记
    """
    self.parameter_name = parameter_name
    self.service_key = service_key
    self.service_type = service_type
    self.is_optional = is_optional
    self.default_value = default_value
    self.is_injected = is_injected

__repr__()

返回字符串表示.

源代码位于: src/symphra_container/injector.py
def __repr__(self) -> str:
    """返回字符串表示."""
    optional_str = " (optional)" if self.is_optional else ""
    injected_str = " (injected)" if self.is_injected else ""
    return f"DependencyInfo({self.parameter_name}: {self.service_key}{optional_str}{injected_str})"