public T InvocationHandlerFor <T>() where T : class
 {
     return(Proxies.DynamicProxyFor <T>((method, args) =>
     {
         return Invoke(method.Name, args);
     }));
 }
        public void CreateADynamicProxy()
        {
            var invoker = Proxies.DynamicProxyFor <IGreeter>((method, args) =>
            {
                if (method.Name != "Hello")
                {
                    return("Invalid method");
                }

                return(string.Format("Hello, {0}", args[0]));
            });

            Assert.That(invoker.Hello("Mantas"), Is.EqualTo("Hello, Mantas"));
        }