I usually do:
container.Register(Component.For(typeof(IRepository<>)).ImplementedBy(LinqRepository<>))
and then inject IRepository<Anything> but the problem here is that your
LinqRepository needs a TDataContext


2011/3/3 Krzysztof Koźmic <[email protected]>

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

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