系统.动作委托忽略参数

本文关键字:参数 系统 | 更新日期: 2023-09-27 18:17:03

我有这个:

public event Action<BaseCommodity> OnGatherActionSelected = delegate { };
gmp.OnGatherActionSelected += m_Worker.CharacterActions.StartGatherMaterials; // << takes a parameter

但现在我想用事件来调用一个方法它接受0个参数

gmp.OnGatherActionSelected += ParentPanel.RedrawUI; // does not take parameters .. DOES NOT WORK :(

我该怎么做?

系统.动作委托忽略参数

最简单的选择是添加一个处理程序,该处理程序接受参数并忽略它,将其委托给您想使用的方法:

gmp.OnGatherActionSelected += _ => ParentPanel.RedrawUI();

你可以把它包装在一个接受参数的方法中:

gmp.OnGatherActionSelected += x => ParentPanel.RedrawUI();