首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中如何将方法作为参数类型进行传递呢?

C#/.NET/.NET Core应用程序编程开发中如何将方法作为参数类型进行传递呢?

.NET C# 参数 委托 .NET Core 2.14K 次浏览
0

在C#/.NET/.NET Core应用程序编程开发中,有几个具有相同签名(参数和返回值)的方法,但是不同的名称和方法的内部结构是不同的。现在需要将这些方法作为一个参数传入另一个方法,并在后者中进行调用,类似如下的声明:

public int Method1(string)
{
    // 处理业务逻辑
    return myInt;
}

public int Method2(string)
{
    // 处理业务逻辑
    return myInt;
}

public bool RunTheMethod([这里使用方法作为参数类型] myMethodName)
{
    // 处理业务逻辑
    int i = myMethodName("My String");
    // 处理其他的业务逻辑
    return true;
}

public bool Test()
{
    return RunTheMethod(Method1);
}

以上是伪代码,如何使用C#代码来实现以上的将方法作为参数传递的具体操作呢?

回复 [×]
提交评论
请输入评论内容

3 个回答

  • 0

    在.NET 3.5及以上版本中,你可以使用Func委托来实现将方法作为参数进行传递,Func委托允许您指定一个方法,该方法接受多个特定类型的参数并返回一个特定类型的单个参数,示例代码如下:

    Rector的个人主页

    Rector

    2020-04-20 回答

    • 0

      使用Action委托来实现将方法作为参数传递,如下:

      调用示例:

      Rector的个人主页

      Rector

      2020-04-20 回答

      • 0

        定义委托并将委托作为方法的参数进行传递,示例代码如下:

        Rector的个人主页

        Rector

        2020-04-20 回答

        我来回答