public Func <object, object, bool> Adapt(MethodInfo method, Type inputType)
        {
#if NETCOREAPP2_0 || NET461
            var proxyMethod = ProxyMethodEmitter.CreateProxyMethod(method, inputType);
            return((listener, data) => proxyMethod(listener, data, _factory));
#elif NETSTANDARD2_0
            throw new PlatformNotSupportedException("This platform does not support creating proxy types and methods.");
#else
#error Target frameworks should be updated
#endif
        }
        public Func <object, object, bool> Adapt(MethodInfo method, Type inputType)
        {
            var proxyMethod = ProxyMethodEmitter.CreateProxyMethod(method, inputType);

            return((listener, data) => proxyMethod(listener, data, _factory));
        }