/// <summary>
        /// 异步等待
        /// </summary>
        /// <typeparam name="T">异步执行参数类型</typeparam>
        /// <typeparam name="TContainer">容器控件类型</typeparam>
        /// <typeparam name="TResult">异步执行返回值类型</typeparam>
        ///<param name="asynWaitPara">异步等待执行参数</param>
        ///<param name="containerControl">容器控件</param>
        ///<param name="asynWait">异步等待UI</param>
        ///<param name="asynExcute">异步执行</param>
        public static void Wait <T, TContainer, TResult>(PartAsynWaitPara <T, TResult> asynWaitPara, TContainer containerControl, IPartAsynWait asynWait, IAsynExcute <T, TContainer, TResult> asynExcute)
        {
            ParaValidate(asynWaitPara, containerControl);
            if (asynExcute == null)
            {
                throw new ArgumentNullException("asynExcute");
            }

            asynWaitPara.AsynWait = asynWait;
            asynExcute.Excute(asynWaitPara, containerControl);
        }
 /// <summary>
 /// 异步等待
 /// </summary>
 /// <typeparam name="T">异步执行参数类型</typeparam>
 /// <typeparam name="TContainer">容器控件类型</typeparam>
 /// <typeparam name="TResult">异步执行返回值类型</typeparam>
 ///<param name="asynWaitPara">异步等待执行参数</param>
 ///<param name="containerControl">容器控件</param>
 ///<param name="asynExcute">异步等待UI</param>
 public static void Wait <T, TContainer, TResult>(PartAsynWaitPara <T, TResult> asynWaitPara, TContainer containerControl, IAsynExcute <T, TContainer, TResult> asynExcute)
 {
     Wait <T, TContainer, TResult>(asynWaitPara, containerControl, null, asynExcute);
 }