Great idea,

create an issue in Donjon and attach your patch there.

Krzysztof

Bill Barry wrote:
> Sometimes the container should throw a better exception when you try to 
> resolve something that isn't in it.
>
> If you try to resolve a type but it isn't registered, but the type 
> implements an interface or is derived from a type that is registered, 
> the exception should say so.
>
> Something like:
> Exception: interface was not located within container
> Details: interface {TInterface} was not located in the container, this 
> type implements {TService} which is in the container though.
>
> UseCase:
> var Container = new WindsorContainer();
> Container.Register(Component.For<ISomeInterface>().ImplementedBy<ServiceImplementingSomeInterface>());
> Container.Resolve<ServiceImplementingSomeInterface>(); // should throw 
> new exception (new exception should inherit from the current one as it 
> is just a special case)
> Container.Resolve<string>(); // should throw current exception
> Container.Resolve<ISomeInterface>(); // succeeds
>
> point being that I very likely used the wrong type in the call to 
> Resolve (or constructor param, etc.)
>
> ps. Though the name I am suggesting is a joke, I feel like there is some 
> merit to the suggestion. Ignore me if I am making no sense or if this is 
> already done; I am using trunk from about 5 months ago.
>
> >
>   


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