移除不再使用的OnTemperatureReceived方法和TemperatureReceived事件
This commit is contained in:
@@ -1788,49 +1788,7 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
// private int CalculateDataLength(byte[] headerData)
|
// private int CalculateDataLength(byte[] headerData)
|
||||||
// 新的实现使用了CombineDataArrays和IsValidHeaderMarker方法
|
// 新的实现使用了CombineDataArrays和IsValidHeaderMarker方法
|
||||||
|
|
||||||
/// <summary>
|
// 不再需要温度数据实时通知机制,已移除OnTemperatureReceived方法
|
||||||
/// 触发温度数据接收事件
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="e">事件参数</param>
|
|
||||||
protected virtual void OnTemperatureReceived(TemperatureReceivedEventArgs e)
|
|
||||||
{
|
|
||||||
Log($"[{DateTime.Now:HH:mm:ss.fff}] [线程:{Thread.CurrentThread.ManagedThreadId}] OnTemperatureReceived() - 开始执行");
|
|
||||||
|
|
||||||
// 检查参数有效性
|
|
||||||
if (e == null)
|
|
||||||
{
|
|
||||||
Log($"[{DateTime.Now:HH:mm:ss.fff}] [线程:{Thread.CurrentThread.ManagedThreadId}] OnTemperatureReceived() - 参数为空,跳过事件触发");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取事件处理程序的快照,避免在多线程环境中出现竞态条件
|
|
||||||
EventHandler<TemperatureReceivedEventArgs> handler = TemperatureReceived;
|
|
||||||
|
|
||||||
// 检查是否有订阅者
|
|
||||||
if (handler != null)
|
|
||||||
{
|
|
||||||
// 获取所有订阅的委托,单独处理每个处理器
|
|
||||||
Delegate[] invocationList = handler.GetInvocationList();
|
|
||||||
|
|
||||||
foreach (Delegate d in invocationList)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// 安全地转换并调用每个处理器
|
|
||||||
EventHandler<TemperatureReceivedEventArgs> invoker = (EventHandler<TemperatureReceivedEventArgs>)d;
|
|
||||||
invoker(this, e);
|
|
||||||
Log($"[{DateTime.Now:HH:mm:ss.fff}] [线程:{Thread.CurrentThread.ManagedThreadId}] OnTemperatureReceived() - 成功触发一个事件处理器: {d.Method.Name}");
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
// 捕获单个事件处理器的异常,确保其他处理器仍能被调用
|
|
||||||
Log($"[{DateTime.Now:HH:mm:ss.fff}] [线程:{Thread.CurrentThread.ManagedThreadId}] OnTemperatureReceived() - 事件处理器异常: {ex.Message}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Log($"[{DateTime.Now:HH:mm:ss.fff}] [线程:{Thread.CurrentThread.ManagedThreadId}] OnTemperatureReceived() - 执行完成");
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion 温度数据处理方法
|
#endregion 温度数据处理方法
|
||||||
|
|
||||||
@@ -1851,10 +1809,7 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public event EventHandler<ImageReceivedEventArgs> ImageReceived;
|
public event EventHandler<ImageReceivedEventArgs> ImageReceived;
|
||||||
|
|
||||||
/// <summary>
|
// 不再需要温度数据实时通知机制,已移除TemperatureReceived事件
|
||||||
/// 温度数据接收事件
|
|
||||||
/// </summary>
|
|
||||||
public event EventHandler<TemperatureReceivedEventArgs> TemperatureReceived;
|
|
||||||
|
|
||||||
#endregion 公共事件
|
#endregion 公共事件
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user