我试图将一个表达式作为参数传递给一个函数,如:

public string MyFunction(bool expression) //what should I set here as parameter type?
{
    return expression ? "True" : "False";
}

public void InvokeMyFunction()
{
    var myString = MyFunction(10 > 1);
}

最佳答案

您可以传递 Func<bool> 来表示返回 bool 值的方法。此外,当您声明函数时,您可以使用 lambda 语法 () => 来表示匿名方法。

string MyFunction(Func<bool> expression)
{
    return expression() ? "True" : "False";
}

void InvokeMyFunction()
{
    var myString = MyFunction(() => 10 > 1);
}

关于c# - 将表达式作为参数传递给方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41693120/

10-13 09:09