public void Foo() { var m = new MessageDerived(); var rp = new RoutingProvider(); rp.RegisterRoute(RouteRule.UseInterfaceMessageHandler(new Handler())); //rp.RouteCall<ISessionStarted>(x => x.SessionStarted()); rp.RouteObject(m); rp.RouteObject(11); rp.RouteObject(11L); //var t = new List<string>(); //List<object> l= (List<object>)t; //rp.RouteObject(new Context(), m); }