VContainer-registering/register-collection | 注册——注册集合
VContainer 支持隐式解析特定集合类型,用于处理多实例注册的场景。
当同一接口被多次注册时,可通过 IEnumerable<T> 或 IReadOnlyList<T> 一次性解析所有实例:
builder.Register<IDisposable, A>(Lifetime.Scoped);
builder.Register<IDisposable, B>(Lifetime.Scoped);
class ClassA
{
public ClassA(IEnumerable<IDisposable> disposables) { /* ... */ }
}
或者
class ClassA
{
public ClassA(IReadOnlyList<IDisposable> disposables) { /* ... */ }
}
:::note
此功能常用于内部机制,例如标记了 ITickable 接口的组件。
:::

浙公网安备 33010602011771号