This PR allows to load implementing class from a different assembly than requested interface namespace the class is implementing.
This fixes the following scenario we have currently in Vlingo.Wire:
IScheduled interface is in the assembly Vlingo.Common
its implementation Scheduled__Proxy is in assembly Vlingo.Actors
When the proxy is requested in Vlingo.Wire the requested protocol is Vlingo.Common.Scheduled__Proxy which obviously cannot be found by the current implementation.
This implementation allows to load Vlingo.Actors.Scheduled__Proxy if not found in Vlingo.Common namespace and if the Vlingo.Common.Scheduled__Proxy is requested. It finds candidates types like Vlingo.Actors.Scheduled__Proxy and checks that it really implements the interface Vlingo.Common.IScheduled
This behavior is different from the java implementation where I cannot observe the same bug.
This PR allows to load implementing class from a different assembly than requested interface namespace the class is implementing.
This fixes the following scenario we have currently in
Vlingo.Wire
:IScheduled
interface is in the assemblyVlingo.Common
Scheduled__Proxy
is in assemblyVlingo.Actors
Vlingo.Wire
the requested protocol isVlingo.Common.Scheduled__Proxy
which obviously cannot be found by the current implementation.This implementation allows to load
Vlingo.Actors.Scheduled__Proxy
if not found inVlingo.Common
namespace and if theVlingo.Common.Scheduled__Proxy
is requested. It finds candidates types likeVlingo.Actors.Scheduled__Proxy
and checks that it really implements the interfaceVlingo.Common.IScheduled
This behavior is different from the java implementation where I cannot observe the same bug.