Krzysztof, I think that's a great idea and very clever too :-) Did you actually alter the interface or implement this using extension methods?
On Apr 19, 2011, at 5:30 AM, Krzysztof Koźmic wrote: > One of the most common complaints I'm hearing from people who want to start > with Windsor is that our registration API is hard. That they go type > container.Register and they get this: > <moz-screenshot-30.png> > if they have ReSharper, or this if they use bare VS: > > <moz-screenshot-31.png> > > And then they get lost hunting for what this IRegistration creature is and > how do I get one. And they hunt for implementation and see classes like > BasedOnDescriptor etc which confuse them even more. They don't know where to > start, and even though the comment says "Use Component.For or > AllTypes.FromAssembly" they don't see it because it doesn't jump out at them > from intellisense. > > So I did a small experiment, and did some changes so that the intellisense > experience is the following: > <moz-screenshot-32.png> > And then when we get to pick actual overload: > <moz-screenshot-33.png> > > With ReSharper it's obviously much nicer: > > <moz-screenshot-34.png> > > The way this works is I created the two additional overloads that have the > entry types in their signatures (AllTypes and Component respectively) to give > the user a hint about where they might look to start. I would update the > tooltip help to be more helpful. > > The drawback of this is that if user tries to instantiate AllTypes or > Component or look for types that inherit from then they'll be disappointed. > The types are abstract with private constructor to ensure no one inherits > from them (which would be pointless anyway). This also means that the two > additional overloads will never get invoked. > > So my question to you is - what do you think about all of this? Does it help? > Is it worth the effort (having two more overloads for mere benefit of some > intellisense hints)? Do you have any better ideas? > > Krzysztof > > > > -- > 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.
