Zarejestruj wartość null jako instancję w kontenerze Unity
Mam klasę repozytorium z opcjonalną zależnością:
class MyRepository : BaseRepository, IMyRepository
{
public MyRepository(IDataContext dataContext, ICacheProvider cacheProvider = null)
: base(dataContext, cacheProvider)
{}
// …
}
Istnienie parametru cacheProvider działa jako strategia dla repozytorium. Chcę skonfigurować kontener Unity w ten sposób:
Container.RegisterType<IDataContext, MyDataContext>(new PerResolveLifetimeManager(), new InjectionConstructor())
.RegisterInstance<ICacheProvider>(null) // ???
.RegisterType<IMyRepository, MyRepository>();
To znaczy. nie wskazując konkretnego InjectionConstructor z jednym parametrem dla MyRepository, ale używaj domyślnego konstruktora z null jakocacheProvider parametr.
Czy jest jakiś sposób, aby to zrobić?