mhinze / ShortBus

In-process mediator with low-friction API
MIT License
210 stars 41 forks source link

Notify fails when event is cast into an interface #29

Open patroza opened 10 years ago

patroza commented 10 years ago

e.g:

var n = new Notification();
_mediator.Notify(n); // succeeds
_mediator.Notify((ISomeInterface) n); // fails

as it resolves to Notify<ISomeInterface>, which uses DependencyResolver.GetInstances<INotificationHandler<ISomeInterface>>() which won't find the appropriate handlers.

I propose a similar usage through MediatorPlan instead, if I find time I will propose a pull request.

My problem is that I aggregate my IDomainEvents into an array, and then dispatch them, loosing the type info.

For now the workaround I use is_mediator.Notify((dynamic) n);