Yep, pretty much.
On Tuesday, July 10, 2012 11:56:18 PM UTC-4, Krzysztof Koźmic wrote:
>
> Right,
>
> so what you really want is not "All interfaces" but rather "service
> interfaces" that would be like all interfaces but filtering out "noise"
> that is all the ISerializable, IDisposable, IComparable,
> IEnumerable<ValueType> etc?
>
> @K
>
>
> On 11/07/12 12:57 PM, bling wrote:
>
> I don't.
>
> The way I have my application is the typical:
>
> - Register explicitly, i.e.
> Component.For<IFoo>().ImplementedBy<Foo>()..., for things that I need
> explicit.
> - Then, some convention based things. Like
> Classes.Pick().BasedOn<Bar>().WithServiceBase().
> - Finally, the "catch all", which is
> Register(Classes.Pick().WithServiceSelf().WithServiceAllInterfaces()).
>
> I have an infrastructure library which contains a bunch of helper classes,
> some of which contain basic services that are required. As the
> infrastructure library, it also will contain things that are not services,
> like a ReadOnlyDictionary<,>, which is what caused the exception.
> WithDefaultInterfaces() will not work since some classes are not a 1-to-1
> implementation, and implement multiple service interfaces.
>
>
> On Tuesday, July 10, 2012 10:39:07 PM UTC-4, Krzysztof Koźmic wrote:
>>
>> So leaving this example aside, the reason for this behavior is that
>> Windsor sees you're registering your type as IEnumerable<SomeValueType>
>> which while used to be allowed previously is not really something you'd
>> want to have as a service.
>>
>> So can you help me better understand in your actual scenario why do you
>> want to expose IEnumerable<SomeValueType> as a service off your component?
>>
>> thanks,
>> @K
>>
>> On 11/07/12 8:28 AM, bling wrote:
>>
>> [Test]
>> public void RegisterGenericType_WithServiceAllInterfaces()
>> {
>> Assert.DoesNotThrow(() =>
>> Kernel.Register(Classes.From(typeof(Dictionary<,>)).Pick().WithServiceAllInterfaces()));
>> }
>>
>> On Tuesday, July 10, 2012 6:10:57 PM UTC-4, Krzysztof Koźmic wrote:
>>>
>>> Thanks.
>>>
>>> Can you create an actual failing test?
>>>
>>> Thanks
>>> @k
>>> On Jul 11, 2012 8:09 AM, "bling" <[email protected]> wrote:
>>>
>>>> the following works with 3.0, but throws an exception in 3.1
>>>>
>>>> var c = new WindsorContainer();
>>>>
>>>> c.Register(Classes.From(typeof(Dictionary<,>)).Pick().WithServiceBase().WithServiceAllInterfaces());
>>>>
>>>> i'm not sure what the actual issue is, but exception message
>>>> complained about ICollection<KeyValuePair<,>> so i took a guess and was
>>>> able to reproduce. a class similar to that signature does exist in my
>>>> actual code.
>>>>
>>>> thanks,
>>>> bling
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Castle Project Users" group.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msg/castle-project-users/-/M4VIrLskVH8J.
>>>> 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 view this discussion on the web visit
>> https://groups.google.com/d/msg/castle-project-users/-/f2QKPH2AibYJ.
>> 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 view this discussion on the web visit
> https://groups.google.com/d/msg/castle-project-users/-/mSI1F8MzbNUJ.
> 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 view this discussion on the web visit
https://groups.google.com/d/msg/castle-project-users/-/QnXe6-2WasIJ.
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.