我在注册表中定义的默认的具体类型使用不同的具体类型:Structuremap按对象类型
ForRequestedType<IXRepository>()
.TheDefaultIsConcreteType<CacheXRepository>();
的ChaceXRepository具有下面的构造:
公共类CacheXRepository:IXRepository {
public CacheXRepository(IXRepository xRepository,ICache cacheService){
在构造函数中,它接收一个与它本身具有相同接口类型的对象,但我想传入不同的具体类型。
如何在注册表中定义如果类型是CacheXRepository,那么我希望参数IXRepository的具体类型为XRepository,在其他情况下IXRepository应解析为CacheXRepository。
谢谢! 代码我根据你的答复使用: ForRequestedType() .TheDefaultIsConcreteType () .EnrichWith((储存库)=>新 CacheXRepository(储存库,ObjectFactory.GetInstance ())); –
Devora