Hi all, I'm trying to use Castle Windsor to implement decorator
chains, as per Ayende's msdn post. However, I'm using the fluent API,
and I want to know if it can be done en masse.

Without the decorators I have:

container.Register
                (
                    AllTypes.FromAssembly(assembly)
                    .IncludeNonPublicTypes()
                    .BasedOn(typeof(IWriteRepository<>)).WithService.Base()
                    .Configure(component =>
component.LifeStyle.Transient)
                );

(Which works fine.)
My decorators also implement IWriteRepository<T>, and take as the
inner, an IWriteRepository<T>. For example:

public class SecurityRepositoryDecorator<TEntity> :
IWriteRepository<TEntity>
    {
        private IWriteRepository<TEntity> inner;

        public SecurityRepositoryDecorator(IWriteRepository<TEntity>
inner)
        {
            this.inner = inner;
        }
    }


Is this impossible because of a circular reference to
IWriteRepository<>?
I would like to get to:

var repository = container.Resolve<IWriteRepository<Document>>();

And have this return a SecurityRepositoryDecorator wrapping a
DocumentRepository.
Any ideas are appreciated.


Joni

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to