黄学彪
2019-10-12 c6b35c3138b944830b5336bf610f918154dd47c7
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAttributeLogic.cs
@@ -50,7 +50,7 @@
        #region ■ 添加事件___________________________
        /// <summary>
        /// 添加获取设备属性的事件(属性上报的对象:device.DeviceStatusReport)
        /// 添加获取设备属性的事件(推送已经强制指定运行于主线程,属性上报的对象:device.DeviceStatusReport)
        /// </summary>
        /// <param name="mainKeys">标识事件的主键(可以随便填,主要是针对多个界面一起使用的情况)</param>
        /// <param name="comand">命令区分,比如:DeviceStatusReport,IASInfoReport等等</param>
@@ -145,12 +145,15 @@
                    //命令区分一致时,则调用回调函数
                    list.Add(this.dicEvent[keys]);
                }
                //有可能在回调函数中移除了事件,导致报错,所以先收集,再调用
                foreach (var action in list)
                HdlThreadLogic.Current.RunMain(() =>
                {
                    action(common);
                }
                list.Clear();
                    //有可能在回调函数中移除了事件,导致报错,所以先收集,再调用
                    foreach (var action in list)
                    {
                        action?.Invoke(common);
                    }
                    list.Clear();
                });
            }
        }