1

在 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);

...
4

0 回答 0