Registrieren Sie null als Instanz im Unity-Container
Ich habe eine Repository-Klasse mit optionaler Abhängigkeit:
class MyRepository : BaseRepository, IMyRepository
{
public MyRepository(IDataContext dataContext, ICacheProvider cacheProvider = null)
: base(dataContext, cacheProvider)
{}
// …
}
Das Vorhandensein des cacheProvider-Parameters dient als Strategie für das Repository. Ich möchte den Unity-Container folgendermaßen einrichten:
Container.RegisterType<IDataContext, MyDataContext>(new PerResolveLifetimeManager(), new InjectionConstructor())
.RegisterInstance<ICacheProvider>(null) // ???
.RegisterType<IMyRepository, MyRepository>();
Das heißt Ich weise nicht auf einen bestimmten InjectionConstructor mit einem Parameter für MyRepository hin, sondern verwende den Standardkonstruktor mit null alscacheProvider Parameter.
Gibt es eine Möglichkeit, dies zu tun?