void _run() { for (int i = 0; i < mDeviceTasks.Length; i++) { mCurrentTaskIndex = i; TaskStart?.Invoke(mDeviceTasks[i]); LogWrapper.LogInfoFormat("设备[{0}] 开始任务 {1}/{2} {3}", mDevice.SerialNumber, i + 1, mDeviceTasks.Length, mDeviceTasks[i].ToString()); var result = mDeviceTasks[i].Run(mDevice); TaskEnd?.Invoke(mDeviceTasks[i], result); if (!result.ok) { LogWrapper.LogInfoFormat("设备[{0}] 执行任务失败 {1}/{2} {3} 错误信息:{4}", mDevice.SerialNumber, i + 1, mDeviceTasks.Length, mDeviceTasks[i].ToString(), result.Msg); break; } else { LogWrapper.LogInfoFormat("设备[{0}] 完成任务 {1}/{2} {3}", mDevice.SerialNumber, i + 1, mDeviceTasks.Length, mDeviceTasks[i].ToString()); } } mDeviceTasks = null; mTask = null; mCurrentTaskIndex = 0; LogWrapper.LogInfoFormat("设备[{0}] 完成所有任务", mDevice.SerialNumber); }