/// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// datagridviewcellcanceleventhandler.BeginInvoke(sender, e, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this DataGridViewCellCancelEventHandler datagridviewcellcanceleventhandler, Object sender, DataGridViewCellCancelEventArgs e, AsyncCallback callback)
        {
            if (datagridviewcellcanceleventhandler == null)
            {
                throw new ArgumentNullException("datagridviewcellcanceleventhandler");
            }

            return(datagridviewcellcanceleventhandler.BeginInvoke(sender, e, callback, null));
        }