/// <summary>
        /// 创建一个新参数
        /// </summary>
        /// <returns></returns>
        public static TraverseEventArg Create(FolderFileInfo data)
        {
            var e = new TraverseEventArg();

            e.Data = data;
            return(e);
        }
        /// <summary>
        ///
        /// </summary>
        public void TargetOutput()
        {
            Console.WriteLine("TargetOutput输出线程启动 {0}", Thread.CurrentThread.ManagedThreadId);
            while (0 < this.fileQueue.Count)
            {
                var e    = new TraverseEventArg();
                var data = CollectionTools.DeleteFromQueue <FolderFileInfo>(this.fileQueue);

                this.EventOutput(this, TraverseEventArg.Create(data));
            }
            Console.WriteLine("TargetOutput输出线程结束 {0}", Thread.CurrentThread.ManagedThreadId);
            this.ThreadOutput = null;
        }