使用serviceKey作为DryIoc解析的类的构造函数参数

问题描述 投票:1回答:1

我正在使用服务密钥注册两个相关类。

container.Register<IPmgrProvisioning, PmgrProvisioningFrontEnd>(Reuse.Singleton, serviceKey: TelephonySystem.ALE);
container.Register<IPmgrUserProcessor, PmgrUserProcessor>(made: Parameters.Of.Type<IPmgrProvisioning>(serviceKey: TelephonySystem.ALE), serviceKey: TelephonySystem.ALE);
pmgrHandler = container.Resolve<IPmgrProvisioning>(serviceKey: TelephonySystem.ALE) as PmgrProvisioningFrontEnd;

因此,PMGRUserProcessor的构造函数在解析时会获得正确的IPmgrProvisioning实现。 PmgrUserProcessor具有此构造函数

public PmgrUserProcessor(IAudmService iService, IPmgrProvisioning iPmgrProvisioning)

我想做的是在该构造函数中有另一个参数,所以,类似

public PmgrUserProcessor(IAudmService iService, IPmgrProvisioning iPmgrProvisioning, object serviceKey = null)

而且我想确定参数serviceKey为TelephonySystem.ALE。而且,如果我要在没有serviceKey的情况下进行解析,则不会提供PmgrUserProcessor中的serviceKey参数,因此该参数为空。

关于如何完成此操作的任何想法?

ioc-container dryioc
1个回答
0
投票

您可以尝试:Parameters.Of.Type(...).Name("serviceKey", req => req.ServiceKey)。检查“名称和类型”重载以了解其他选项。

© www.soinside.com 2019 - 2024. All rights reserved.