移除不再使用的OnTemperatureReceived方法和TemperatureReceived事件
This commit is contained in:
@@ -1788,49 +1788,7 @@ namespace JoyD.Windows.CS.Toprie
|
||||
// private int CalculateDataLength(byte[] headerData)
|
||||
// 新的实现使用了CombineDataArrays和IsValidHeaderMarker方法
|
||||
|
||||
/// <summary>
|
||||
/// 触发温度数据接收事件
|
||||
/// </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() - 执行完成");
|
||||
}
|
||||
// 不再需要温度数据实时通知机制,已移除OnTemperatureReceived方法
|
||||
|
||||
#endregion 温度数据处理方法
|
||||
|
||||
@@ -1851,10 +1809,7 @@ namespace JoyD.Windows.CS.Toprie
|
||||
/// </summary>
|
||||
public event EventHandler<ImageReceivedEventArgs> ImageReceived;
|
||||
|
||||
/// <summary>
|
||||
/// 温度数据接收事件
|
||||
/// </summary>
|
||||
public event EventHandler<TemperatureReceivedEventArgs> TemperatureReceived;
|
||||
// 不再需要温度数据实时通知机制,已移除TemperatureReceived事件
|
||||
|
||||
#endregion 公共事件
|
||||
|
||||
|
||||
Reference in New Issue
Block a user