我正在使用服务密钥注册两个相关类。
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参数,因此该参数为空。
关于如何完成此操作的任何想法?
您可以尝试:Parameters.Of.Type(...).Name("serviceKey", req => req.ServiceKey)
。检查“名称和类型”重载以了解其他选项。