J'ai un type de béton par défaut défini dans un registre:StructureMap utiliser différents types de béton par type d'objet
ForRequestedType<IXRepository>()
.TheDefaultIsConcreteType<CacheXRepository>();
Le ChaceXRepository a le constructeur suivant:
public class CacheXRepository: IXRepository {
public CacheXRepository(IXRepository xRepository,ICache cacheService){
Dans le constructeur, il reçoit un objet qui a le même type d'interface que lui-même, mais je souhaite passer dans un type concret différent.
Comment puis-je définir dans le registre que si le type est un CacheXRepository alors je veux que le type concret pour le paramètre IXRepository soit XRepository, dans tous les autres cas, IXRepository devrait se résoudre en CacheXRepository.
Merci! Le code je en fonction de votre réponse: ForRequestedType() .TheDefaultIsConcreteType () .EnrichWith ((dépôt) => nouvelle CacheXRepository (dépôt, ObjectFactory.GetInstance ())); –
Devora