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" <bailey.l...@gmail.com> 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 >>>> castle-project-users@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> castle-project-users+unsubscr...@googlegroups.com. >>>> 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 >> castle-project-users@googlegroups.com. >> To unsubscribe from this group, send email to >> castle-project-users+unsubscr...@googlegroups.com. >> 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 castle-project-users@googlegroups.com > . > To unsubscribe from this group, send email to > castle-project-users+unsubscr...@googlegroups.com. > > > > 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 castle-project-users@googlegroups.com. To unsubscribe from this group, send email to castle-project-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en.