把公开的 Action 字段改为 event的作用

• public Action 字段:等同于公开的委托变量,任何外部代码都可以使用 = 覆盖它、也可以直接调用(Invoke)它,容易被误写或清空,安全性差。
• public event Action:只允许外部通过 += / -= 订阅或退订;只有声明该事件的类可以触发(调用)这个事件,封装性和安全性更好。

 1 // 公开字段(不安全)
 2 public static Action RefreshSweepBoDeDataChart;
 3 
 4 // 任意外部代码可以:
 5 FreshChartHelper.RefreshSweepBoDeDataChart = null; // 覆盖、清空订阅者
 6 FreshChartHelper.RefreshSweepBoDeDataChart();      // 直接触发(如果非 null)
 7 
 8 // 改成事件(推荐)
 9 public static event Action RefreshSweepBoDeDataChart;
10 
11 // 外部只能:
12 FreshChartHelper.RefreshSweepBoDeDataChart += Handler;
13 FreshChartHelper.RefreshSweepBoDeDataChart -= Handler;
14 // 外部不能使用 "=" 也不能直接调用事件

 

触发事件(只能在定义事件的类内)

// 在 FreshChartHelper 内部触发时:
RefreshSweepBoDeDataChart?.Invoke();

 

posted @ 2025-12-11 16:34  家煜宝宝  阅读(1)  评论(0)    收藏  举报