There is, it's called Select

On 04/03/2011 8:33 AM, Rob wrote:
I probably should have provided this detail up front.
I have IRepository<TEntity>  which is implemented by
LinqRepository<TEntity, TDataContext>.
So, for each type T in the assembly that inherits from DataContext I
need to do:
  for each property of T whose type is Table<U>, register a component
for IRepository<U>  implemented by LinqRepository<U, T>

The fact that I have to type all this out probably means that this is
a special enough case not to be covered by the default API.  It would
be nice to have a general .SelectMany() hanging off the end of the
type finding stuff so I could do something like:
container.Register(
  AllTypes.FromThisAssembly()
   .BasedOn(....)
   .SelectMany(a single type =>  a set of Component registrations)
)

On Mar 3, 3:20 pm, José F. Romaniello<[email protected]>  wrote:
in the end you  want to register

IRepository<T>  pointing to Table<T>?

2011/3/3 Rob<[email protected]>







I'm using Windsor 2.5.3 and I'm trying to use the fluent registration
API to register a set of components per type found. What I'm trying to
achieve is roughly:
for every type
  in this assembly
  that inherits from X
  don't register X, but instead use X to determine a set of components
to register.
The concrete example is that I want to find every DataContext in my
assembly and rather than registering the DataContext itself, walk its
properties and for each one that returns a Table<T>, register my own
IRepository<T>  as a component.
I have a pretty strong suspicion that I'm just going to have to do
this myself, but I would love to reuse the assembly walking code that
Windsor clearly has.
--
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.

--
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