public override void Post(SendOrPostCallback d, object?state)
        {
            if (d == null)
            {
                throw new ArgumentNullException(nameof(d));
            }

            var data   = new InvokeState(d, state);
            var handle = GCHandle.Alloc(data, GCHandleType.Normal);

            Dispatch.AsyncFunction(Dispatch.MainQueue, GCHandle.ToIntPtr(handle), InvokeCallback);
        }