internal static object GenerateProxy(IBindableProxyFactory factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            var generator = new ProxyGenerator();
            Func <MethodInfo, object> del = (m) => factory.Invoke(m);
            var proxy = generator.CreateInterfaceProxyWithoutTarget(factory.BindingType, new BindingInterceptor(del));

            return(proxy);
        }
 public static object CreateProxy(IBindableProxyFactory factory)
 {
     return(GenerateProxy(factory));
 }