Использование serviceKey в качестве параметра конструктора для класса, разрешенного DryIoc - PullRequest
0 голосов
/ 01 ноября 2019

Я регистрирую два зависимых класса с сервисными ключами.

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, параметр serviceKey в PmgrUserProcessor не был бы предоставлен и, таким образом, оставался бы пустым.

Любая идея о том, как это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...