您的位置:首页 > 其它

如何异步调用方法

2012-04-24 11:46 309 查看
主体代码

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

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: