在 C# 中,我想知道如何将方法(任何方法)作为参数传递?
我知道 Action 和 Func,但它们受到方法的限制,前者要么是无效的,要么需要在后者中返回一个值。如果可能的话,我想包括对这两种情况的支持(我可能有一个参数数组方法)。
我认为涉及到委托的一些使用,但我不确定如何(使用和不使用 lambdas)。谢谢!
就像是...
public void DoSomething(int num)
{...}
public void DoSomethingElse()
{...}
public int ReturnSomething(string str, int num)
{...}
public void RunMethods(params object[] methods) // (params delegate[] methods)?
{
foreach(var method in methods)
{
...determine whether its void or not and run.
}
}
RunMethod(DoSomething, ReturnSomething, DoSomethingElse);
...