将条件作为参数传递

时间:2011-08-23 19:15:09

标签: c# .net conditional boolean

是否可以将条件作为参数传递给操作?

这是一个例子。

public void Test(Action action, Condition condition);

...

Test( () => Environment.Exit(0), () => variable == variable2 );

1 个答案:

答案 0 :(得分:14)

尝试将第二个参数传递为Func<Boolean>类型。代码应该在你的问题的第二部分中有效:

public void Text(Action action, Func<Boolean> condition) {
    if (condition()) action();
}

编辑:请注意,您在用法示例中要做的是创建包含捕获的变量variable和variable2的Closure。在以这种方式使用闭包之前,您应该了解闭包的含义。