【发布时间】:2021-12-31 00:33:27
【问题描述】:
我想使用预先准备好的参数(调用时没有参数)注册一些动作/委托/事件或类似的东西。 例如
public Action actions;
public void Main()
{
actions += Add(12);
actions += Show("something");
actions += Calculate(2, 4);
actions?.Invoke();
}
public void Add(int k) { }
public void Show(string s) { }
public void Calculate(int k, int c) { }
或者是这样的:
public void Main()
{
actions += Add(12);
actions += Add(1);
actions += Add(4);
actions?.Invoke();
}
有可能吗?
【问题讨论】:
-
你可以有一个动作列表...添加到它,然后循环并调用每一个。类似:
public List<Action> actions = new();添加到它,actions.Add(()=> Add(12));,不确定语法,在移动设备上。 -
然后执行它们
foreach(var a in actions){ a.Invoke();}
标签: c# events delegates action