I have a default concrete type defined in a registry:
ForRequestedType<IXRepository>()
.TheDefaultIsConcreteType<CacheXRepository>();
The ChaceXRepository has the following constructor:
public class CacheXRepository: IXRepository{
public CacheXRepository(IXRepository xRepository,ICache cacheService){
In the constructor it receives an object that has the same interface type as itself, but I want to pass in a different concrete type.
How do I define in the registry that if the type is a CacheXRepository then I want the concrete type for parameter IXRepository to be XRepository, in all other cases IXRepository should resolve to CacheXRepository.