У меня есть служба Keyed, зарегистрированная в Autofa c, которую я хотел бы внедрить через конструктор. Служба зарегистрирована
builder.Register((ctx, par) =>
{
var namedParameter = par.Named<string>("myNamedParameter");
... configuration and instantiation ...
}).Keyed<IMyService>(myKey);
и в настоящее время решается явно
public class MyConsumer {
private readonly IMyService _myService;
//current
public MyConsumer(ILifetimeScope scope) {
_myService = _scope.ResolveKeyed<IMyService>(myKey, new NamedParameter("myNamedParameter", "parameterValue"));
}
//preferred
public MyConsumer(IMyService myService) {
_myService = myService;
}
}
Однако я не смог найти способ, чтобы эта служба была введена во время строительства. Autofa c s KeyFilterAttribute
принимает только ключ; кажется, что он не учитывает NamedParameters
. Это возможно?