New file |
| | |
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Text;
|
| | |
|
| | | namespace Shared.Phone.UserCenter
|
| | | {
|
| | | /// <summary>
|
| | | /// 线程逻辑(创建这个东西,是为了Log出力)
|
| | | /// </summary>
|
| | | public class HdlThreadLogic
|
| | | {
|
| | | #region ■ 变量声明___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 线程逻辑(创建这个东西,是为了Log出力)
|
| | | /// </summary>
|
| | | private static HdlThreadLogic m_Current = null;
|
| | | /// <summary>
|
| | | /// 线程逻辑(创建这个东西,是为了Log出力)
|
| | | /// </summary>
|
| | | public static HdlThreadLogic Current
|
| | | {
|
| | | get
|
| | | {
|
| | | if (m_Current == null)
|
| | | {
|
| | | m_Current = new HdlThreadLogic();
|
| | | }
|
| | | return m_Current;
|
| | | }
|
| | | }
|
| | | #endregion
|
| | |
|
| | | #region ■ 线程执行___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 子线程执行(创建这个东西,是为了Log出力)
|
| | | /// </summary>
|
| | | public void RunThread(Action action, ShowErrorMode mode = ShowErrorMode.YES)
|
| | | {
|
| | | new System.Threading.Thread(() =>
|
| | | {
|
| | | //记录起当前界面,虽然似乎没啥用
|
| | | string nowFormId = UserCenterResourse.NowActionFormID;
|
| | | try
|
| | | {
|
| | | action.Invoke();
|
| | | action = null;
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | if (mode == ShowErrorMode.YES)
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | //出现未知错误,数据丢失
|
| | | var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
|
| | | alert.Show();
|
| | | //出现异常,则关闭进度条
|
| | | ProgressBar.Close();
|
| | | });
|
| | | }
|
| | | //Log出力
|
| | | string msg = "当前激活的界面[" + nowFormId + "]";
|
| | | HdlLogLogic.Current.WriteLog(ex, msg);
|
| | | }
|
| | | })
|
| | | { IsBackground = true }.Start();
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 执行运行子线程里面的主线程(创建这个东西,是为了Log出力)
|
| | | /// </summary>
|
| | | public void RunMainInThread(Action action, ShowErrorMode mode = ShowErrorMode.YES)
|
| | | {
|
| | | new System.Threading.Thread(() =>
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | //记录起当前界面,虽然似乎没啥用
|
| | | string nowFormId = UserCenterResourse.NowActionFormID;
|
| | | try
|
| | | {
|
| | | action.Invoke();
|
| | | action = null;
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | if (mode == ShowErrorMode.YES)
|
| | | {
|
| | | //出现未知错误,数据丢失
|
| | | var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
|
| | | alert.Show();
|
| | | }
|
| | | //Log出力
|
| | | string msg = "当前激活的界面[" + nowFormId + "]";
|
| | | HdlLogLogic.Current.WriteLog(ex, msg);
|
| | | //出现异常,则关闭进度条
|
| | | ProgressBar.Close();
|
| | | }
|
| | | });
|
| | | |
| | | })
|
| | | { IsBackground = true }.Start();
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 执行运行于主线程(创建这个东西,是为了Log出力)
|
| | | /// </summary>
|
| | | public void RunMain(Action action, ShowErrorMode mode = ShowErrorMode.YES)
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | //记录起当前界面,虽然似乎没啥用
|
| | | string nowFormId = UserCenterResourse.NowActionFormID;
|
| | | try
|
| | | {
|
| | | action.Invoke();
|
| | | action = null;
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | if (mode == ShowErrorMode.YES)
|
| | | {
|
| | | //出现未知错误,数据丢失
|
| | | var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
|
| | | alert.Show();
|
| | | }
|
| | |
|
| | | //Log出力
|
| | | string msg = "当前激活的界面[" + nowFormId + "]";
|
| | | HdlLogLogic.Current.WriteLog(ex, msg);
|
| | | //出现异常,则关闭进度条
|
| | | ProgressBar.Close();
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | #endregion
|
| | | }
|
| | | }
|