コード例 #1
0
ファイル: MultiExecute.cs プロジェクト: mirror222/qi4net
        public void Execute <T>(T[] data, VoidFunc <T[]> executeFunc, VoidFunc threadComplete, VoidFunc callback)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }
            if (data.Length == 0)
            {
                return;
            }

            if (executeFunc == null)
            {
                throw new ArgumentNullException("executeFunc");
            }
            if (threadComplete == null)
            {
                throw new ArgumentNullException("threadComplete");
            }

            var handler = new VoidFunc <T[], VoidFunc <T[]>, VoidFunc>(ActualExecute);

            handler.BeginInvoke(data, executeFunc, threadComplete, a =>
            {
                if (callback != null)
                {
                    callback();
                }
            }, null);
        }
コード例 #2
0
ファイル: MultiExecute.cs プロジェクト: mirror222/qi4net
        public void Execute <T>(T[] data, VoidFunc <T[]> executeFunc)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }
            if (data.Length == 0)
            {
                return;
            }
            var handler = new VoidFunc <T[], VoidFunc <T[]>, VoidFunc>(ActualExecute);

            handler.BeginInvoke(data, executeFunc, null, a => { }, null);
        }
コード例 #3
0
ファイル: MultiExecute.cs プロジェクト: mirror222/qi4net
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="TReturn"></typeparam>
        /// <param name="data"></param>
        /// <param name="executeHandler"></param>
        /// <param name="threadComplete"></param>
        /// <param name="callback"></param>
        public void Execute <T, TReturn>(T[] data, Func <T[], TReturn> executeHandler, VoidFunc <TReturn> threadComplete,
                                         VoidFunc callback)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }
            if (data.Length == 0)
            {
                return;
            }
            var handler = new VoidFunc <T[], Func <T[], TReturn>, VoidFunc <TReturn> >(ActualExecute);

            handler.BeginInvoke(data, executeHandler, threadComplete, a =>
            {
                if (callback != null)
                {
                    callback();
                }
            }, null);
        }