У меня есть класс репозитория с дополнительной зависимостью:
class MyRepository : BaseRepository, IMyRepository
{
public MyRepository(IDataContext dataContext, ICacheProvider cacheProvider = null)
: base(dataContext, cacheProvider)
{}
// …
}
Существование параметра cacheProvider действует как стратегия для репозитория. Я хочу настроить контейнер Unity следующим образом:
Container.RegisterType<IDataContext, MyDataContext>(new PerResolveLifetimeManager(), new InjectionConstructor())
.RegisterInstance<ICacheProvider>(null) // ???
.RegisterType<IMyRepository, MyRepository>();
т.е. не указывая конкретный InjectionConstructor с одним параметром для MyRepository, но используйте конструктор по умолчанию с нулевым значением в качестве параметра cacheProvider .
Есть какой-либо способ сделать это?