如何异步调用方法

来源:互联网 发布:淘宝买耐克真货退假货 编辑:程序博客网 时间:2024/05/22 10:41

主体代码   

 public static class MethodCall
    {
        static MethodCall()
        {
            OnComplate += new ComplateCallBack((obj) =>
            {
                System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    _callBack.Invoke(obj);
                });
            });
        }
        private static event ComplateCallBack OnComplate;
        private delegate void ComplateCallBack(object result);

        private static Action<object> _callBack;
        public static void Invoke(Func<object> action, Action<object> callback)
        {
            _callBack = callback;
            ThreadStart t = new ThreadStart(() =>
            {
                OnComplate(action.Invoke());
            });
            new Thread(t).Start();
        }
    }

 

调用方法

 

    MethodCall.Invoke(() =>
                    {
                        return ;//something
                    },
                    (obj) =>
                    {
                       //todo
                    });

原创粉丝点击