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

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