利用托管来实现
private void button2_Click(object sender, EventArgs e)
{
n++;
TTAdd(list, testFunc);
}
private void button3_Click(object sender, EventArgs e)
{
TTDo(list);
}
public delegate void voidFuncDeleg();
List<voidFuncDeleg> list = new List<voidFuncDeleg>();
int n = 0;
void testFunc()
{
MessageBox.Show(n.ToString());
}
void TTAdd(List<voidFuncDeleg> list, voidFuncDeleg func)
{
for (int i = 0; i < list.Count; i++)
{
if (list[i] == func)
return;
}
list.Add(func);
}
void TTDo(List<voidFuncDeleg> list)
{
while (list.Count > 0)
{
list[0]();
list.RemoveAt(0);
}
}