我有一个带有可选依赖项的存储库类:
class MyRepository : BaseRepository, IMyRepository
{
public MyRepository(IDataContext dataContext, ICacheProvider cacheProvider = null)
: base(dataContext, cacheProvider)
{}
// …
}
Run Code Online (Sandbox Code Playgroud)
cacheProvider参数的存在充当存储库的策略.我想要像这样设置Unity容器:
Container.RegisterType<IDataContext, MyDataContext>(new PerResolveLifetimeManager(), new InjectionConstructor())
.RegisterInstance<ICacheProvider>(null) // ???
.RegisterType<IMyRepository, MyRepository>();
Run Code Online (Sandbox Code Playgroud)
即没有为MyRepository指出具有一个参数的特定InjectionConstructor,而是使用带有null的默认构造函数作为cacheProvider参数.
有没有办法做到这一点?