简体   繁体   English

将表达式作为参数传递给方法

[英]Pass an expression as a parameter to a method

I am trying to pass an expression as parameter to a function like: 我试图将表达式作为参数传递给函数,如:

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);
}

You can pass Func<bool> to represent a method that returns a boolean. 您可以传递Func<bool>来表示返回布尔值的方法。 Also when you declare the function, you can use lambda syntax () => to represent an anonymous method. 此外,当您声明函数时,可以使用lambda语法() =>来表示匿名方法。

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM