当前位置:  开发笔记 > 编程语言 > 正文

使用Action C#调用另一个函数

如何解决《使用ActionC#调用另一个函数》经验,为你挑选了1个好方法。

我有一个带有参数的函数,我想使用Action将它作为参数调用到另一个函数中。这是代码:

    public void msg(string name)
    {
        MessageBox.Show("Hello " + name);
    }

    public void CallMethod(Action Function)
    {

        Function();

    }


Method使用msg参数调用函数时,它给我一个错误:

    private void Form1_Load(object sender, EventArgs e)
    {
        CallMethod(msg("John"));
    }

我不想像这样在Method函数中发送参数:

    public void CallMethod(Action Function)
    {

        Function("John");

    }


有什么帮助吗?



1> Sinatr..:

您可以使用参数创建通用方法:

public void CallMethod(Action Function, T parameter)
{
    ...
    Function(parameter);
    ...
}

并像这样使用它:

CallMethod(msg, "John");

另一种可能性是使用lambda传递委托:

public void CallMethod(Action action)
{
    ...
    action();
    ...
}

用法:

 CallMethod(() => msg("John"));

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有