C# 使用C将方法(为void返回类型且无输入参数)作为参数传递#

C# 使用C将方法(为void返回类型且无输入参数)作为参数传递#,c#,generics,c#-3.0,delegates,C#,Generics,C# 3.0,Delegates,我想使用C#将一个方法(返回类型为void,没有输入参数)作为参数传递。下面是我的示例代码。我怎么做 public void Method1() { ... do something } public int Method2() { ... do something } public void RunTheMethod([Method Name passed in here] myMethodName) { myMethodName(); ... do m

我想使用C#将一个方法(返回类型为void,没有输入参数)作为参数传递。下面是我的示例代码。我怎么做

public void Method1()
{
    ... do something
}

public int Method2()
{
    ... do something 
}

public void RunTheMethod([Method Name passed in here] myMethodName)
{

    myMethodName();
    ... do more stuff
}
查看哪些行为类似于指向方法的指针查看哪些行为类似于指向方法的指针以获得查询的解决方案。它们基本上用作指向函数的指针或引用

为了更好地理解,还可以看一看示例。

您应该看一看,以获得查询的解决方案。它们基本上用作指向函数的指针或引用


为了更好地理解,还可以看一看示例。

System.Action将符合以下要求:

对于具有参数但返回类型为void的方法,还有各种通用版本的Action,对于返回某些内容的方法,还有Func

因此,您的RunTheMethod方法如下所示

public void RunTheMethod(Action myMethod)
{
    myMethod();
}
然后,您可以使用以下命令调用它:

RunTheMethod(Method1);
RunTheMethod(Method2);

系统。行动符合法案要求:

对于具有参数但返回类型为void的方法,还有各种通用版本的Action,对于返回某些内容的方法,还有Func

因此,您的RunTheMethod方法如下所示

public void RunTheMethod(Action myMethod)
{
    myMethod();
}
然后,您可以使用以下命令调用它:

RunTheMethod(Method1);
RunTheMethod(Method2);

如前所述,您可以使用委托–在您的情况下,您可以使用
System.Action
来完成这项工作

public void RunTheMethod(System.Action myMethodName)
{

    myMethodName();
    ... do more stuff
}

如前所述,您可以使用委托–在您的情况下,您可以使用
System.Action
来完成这项工作

public void RunTheMethod(System.Action myMethodName)
{

    myMethodName();
    ... do more stuff
}

不完全是代码-但我认为基本阅读是为了让你能理解(实际上里面有一些代码)-不完全是代码-但我认为基本阅读是为了让你能理解(实际上里面有一些代码)-