移除不再使用的OnTemperatureReceived方法和TemperatureReceived事件

This commit is contained in:
zqm
2025-11-04 14:46:42 +08:00
parent 4a8d2570be
commit f998bed512

View File

@@ -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