如何制作具有不同输入的匿名函数调用的委托列表? C#
How to make a delegated list of anonymous function calls with different inputs? c#
我想列出委托的匿名函数调用,这样我就可以 'save' 稍后实际调用它们。虽然我可以保证 none 的函数将具有 return 值,但它们并不都接受相同类型的输入。我认为它看起来像这样,但它甚至不让我编译列表。我该如何解决这个问题?
using System;
public class Program
{
public static void Main()
{
List<delegate> delList = new List<delegate>();
delList.Add(() => Test("y"));
delList.Add(() => Test("z"));
delList.Add(() => Test2(1));
foreach(delegate d in delList){
d.Invoke();
}
}
public void Test(string x){
Debug.Log("Test " + x);
}
public void Test2(int x){
Debug.Log("Test2 " + (int)x);
}
}
是这样的吗?
var delList = new List<Action>();
delList.Add(() => Test("y"));
delList.Add(() => Test("z"));
delList.Add(() => Test2(1));
foreach (Action action in delList)
{
action();
}
我想列出委托的匿名函数调用,这样我就可以 'save' 稍后实际调用它们。虽然我可以保证 none 的函数将具有 return 值,但它们并不都接受相同类型的输入。我认为它看起来像这样,但它甚至不让我编译列表。我该如何解决这个问题?
using System;
public class Program
{
public static void Main()
{
List<delegate> delList = new List<delegate>();
delList.Add(() => Test("y"));
delList.Add(() => Test("z"));
delList.Add(() => Test2(1));
foreach(delegate d in delList){
d.Invoke();
}
}
public void Test(string x){
Debug.Log("Test " + x);
}
public void Test2(int x){
Debug.Log("Test2 " + (int)x);
}
}
是这样的吗?
var delList = new List<Action>();
delList.Add(() => Test("y"));
delList.Add(() => Test("z"));
delList.Add(() => Test2(1));
foreach (Action action in delList)
{
action();
}