2012-12-23 3 views
0

Je suis en train d'enregistrer base de décorateur sur IInterface, j'ai plusieurs classes mettant en œuvre la même interface.Windsor château registre décorateur

public class Instance_A : IInterface 
{} 

public class Instance_B : IInterface 
{} 

sans décorateur l'enregistrement ressemble à:

AllTypes.FromAssemblyContaining<IInterface>().BasedOn<IInterface>() 
    .Configure(c => c.LifeStyle.Transient.Named(c.Implementation.Name)) 

J'ai ajouté décorateur:

public class InstanceDecorator : IInterface 
{ 
    public InstanceDecorator (IInterface instance) 
    { 
     Instance= instance; 
    } 
} 

Comment puis-je enregistrer le décorateur, et obtenir sa mise en œuvre quand je suis en train de résoudre l'une des classes implémentées?

Répondre

0

Ce n'est pas comme cela que fonctionne le décorateur. Vous devez enregistrer vos services en tant qu'abstraction. Si vous souhaitez décorer de nombreux composants avec le même contrat, utilisez plutôt l'intercepteur.

Questions connexes