C# 创建像 PHP 一样的可调用对象

标签 c# methods callable

我过去做过很多 PHP,在那里你可以通过代码作为参数传递,如果我是对的,它被称为 callable

这是它的样子:

METHOD('Parameter', function() { 
echo "Hey!";
});

这在 C# 中可行吗?因为我很想那样做。将该函数作为方法中的参数执行。

最佳答案

如果我没理解错的话,你想将一个可调用函数传递给另一个方法?最简单的方法是使用 FuncAction参数:

void MyMethod(Action<string> passedInFunc)
{
    passedInFunc("Hey");
}

然后调用它:

MyMethod(s => 
{
    Console.WriteLine(s);
});

Action 表示不返回任何值的函数,而 Func 是返回值的函数。

如果您不想向您的操作传递任何参数,则有一个 non-generic您可以使用的版本。

最后,这些只是delegates ,因此您还可以定义自己的自定义委托(delegate)并改为传递该委托(delegate)。

关于C# 创建像 PHP 一样的可调用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36118101/

相关文章:

java - “管道未连接”到 Java Callable 子节点

c# - 如何全局取消特定业务逻辑的回发事件?

c# - 如何使用 DynamicResource 更新 SolidColorBrush 颜色?

c# - Entity Framework : Using Multiple Junction Tables

java - 特定于子类的代码——我应该使用抽象基类方法还是接口(interface)?

java - 找不到方法但找到了另一个方法

php - 如何在 PHP 中调用可调用函数?

c# - 如何在 C# 中使用 NUNIT 获取字符串输入

javascript - .each() 方法仅适用于 IE 中的第一个元素

python - 在 Python 中动态分配函数实现